azure - Cosmos DB:如何使用 LINQ 查询检测请求费用
问题描述
在 Cosmos DB v3 中,我得到了一个IOrderedQueryable<T>
using GetItemLinqQueryable<T>
. 这允许我编写自定义查询。问题是我想在查询实现时跟踪请求费用。如何实现?
当我执行 and 之类的方法时ReadItemAsync
,ExecuteStoredProcedureAsync
返回的对象有一个RequestCharge
属性,但我需要使用 linq 查询来检测费用。
解决方案
您可以ToFeedIterator
在IOrderedQueryable
.
using Microsoft.Azure.Cosmos.Linq;
var query = container.GetItemLinqQueryable<MyClass>()
.Where(c => true)
.ToFeedIterator();
while (query.HasMoreResults)
{
var response = await query.ReadNextAsync();
Console.WriteLine(response.RequestCharge);
foreach (var myClassInstance in response)
{
// do stuff
}
}
编辑:如果您需要计数或任何聚合函数:
var query = container.GetItemLinqQueryable<MyClass>()
.Where(c => true);
Response<int> x = await query.CountAsync();
Console.WriteLine(x.RequestCharge);
int count = x; // Autoboxing
您可以在GitHub上找到可用扩展功能的完整列表。
推荐阅读
- r - R中的observeEvent()函数
- python - 如果图中有多个子图,如何调整彩条位置?
- python - Python os.path.isdir() 不将文件夹视为文件夹
- php - 命名参数冒号后的空格
- php - 无法将检查值插入数据库
- java - 避免循环多对多列表以获取信息
- django - 如何在 Wagtail admin 中为模型字段添加外键对象?
- visual-studio - 热重载不适用于 Razor 页面 VS2022
- ios - Laravel PWA、Epson Thermal Printer TM-30 与 ePos SDK、IPAD iOS 14.8 的打印问题
- microk8s - 将图像导入 microk8s 的问题