使用 .NET Core 从 Azure Table 存储中检索前 n 条记录
Retrieve top n records from Azure Table Storage with .NET Core
是否可以使用 C# 从 Azure Table 存储中检索前 n 条记录?我正在使用 .NET Core。
如果我也能得到一些参考就好了。
请注意,我所有的实体都是使用日志尾模式存储的https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern
谢谢,
普拉文
您可以使用 Take() method when creating your TableQuery:
TableQuery<T> query = new TableQuery<T>().Take(takeCount);
或设置属性TakeCount来指定:
TableQuery<T> query = new TableQuery<T>();
query.TakeCount = takeCount;
我们为获得 table 的顶级实体所做的工作如下:
var query = new TableQuery<TEntity>()
.Where(partitionFilter)
.Take(limit);
return await ExecuteQuery(table, query);
创建查询并使用 .Take(limit)
指定我们想要的实体数量。
do
{
var seg = await table.ExecuteQuerySegmentedAsync<TEntity>(query, token);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && items.Count < query.TakeCount);
在 ExecuteQuery
方法中,我们计算了从 table 中检索到的记录数。这就是我们的工作方式,我假设为了获得顶级 n
个实体,limit
应该设置为 n
.
是否可以使用 C# 从 Azure Table 存储中检索前 n 条记录?我正在使用 .NET Core。
如果我也能得到一些参考就好了。
请注意,我所有的实体都是使用日志尾模式存储的https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern
谢谢, 普拉文
您可以使用 Take() method when creating your TableQuery:
TableQuery<T> query = new TableQuery<T>().Take(takeCount);
或设置属性TakeCount来指定:
TableQuery<T> query = new TableQuery<T>();
query.TakeCount = takeCount;
我们为获得 table 的顶级实体所做的工作如下:
var query = new TableQuery<TEntity>()
.Where(partitionFilter)
.Take(limit);
return await ExecuteQuery(table, query);
创建查询并使用 .Take(limit)
指定我们想要的实体数量。
do
{
var seg = await table.ExecuteQuerySegmentedAsync<TEntity>(query, token);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && items.Count < query.TakeCount);
在 ExecuteQuery
方法中,我们计算了从 table 中检索到的记录数。这就是我们的工作方式,我假设为了获得顶级 n
个实体,limit
应该设置为 n
.