Azure Table获得下一个功能?

问题描述 投票:1回答:1

查询Cosmos DB(表存储API)以获取存储中的“下一个”项的最佳策略是什么? “下一个”定义为上次调用未返回的前1个项目。上次调用返回的项目被保存在内存中。使用.NET Framework,C#。预计该表可容纳约200万个条目,因此不希望进行表扫描。 :)

表存储看起来像这样:分区键(多个值的组合):“ 0000/00/01 / 2020-01-11”。例如,行键单整数值1。该行包含其他字符串数据。

因此键值对(分区键和行键)如下所示。该应用程序读取大量数据,但不一定使用日志尾模式(https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern)。

0000/00/01/2020-01-11,1,aaa,x
0000/00/01/2020-01-11,2,aaa,y
0000/00/01/2020-01-11,3,aaa,z
0000/00/01/2020-01-11,4,bbb,x
0001/00/01/2020-01-11,5,aaa,x
0001/00/01/2020-01-11,6,ddd,x

所以我认为查询仅得到一项是

TableQuery<MyClass> query = new TableQuery<MyClass>() .Where(TableQuery.GenerateFilterCondition("0000/00/01/2020-01-11", QueryComparisons.Equal, "aaa")).Take(1);

如果该代码正确,并返回“ aaa,x”,如何确保后续查询将获得“ aaa,y”,下一个查询将获得“ aaa,z”,下一个查询将获得“ aaa,x” “再次在同一分区中?

如果创建丰富的对象没有意义,而是直接查询REST API,并且可能保留上次在另一个表中使用的项目以及两个表之间的外部联接或其他过滤条件,我愿意朝那个方向设计。

谢谢!

查询Cosmos DB(表存储API)以获取存储中的“下一个”项的最佳策略是什么? “下一个”定义为上次调用未返回的前1个项目。原为...

azure azure-cosmosdb azure-table-storage azure-cosmosdb-tables
1个回答
0
投票
取决于您的其他要求的两个可能的想法:
© www.soinside.com 2019 - 2024. All rights reserved.