java—如何通过为COSMOSDB的查询结果指定每页的项数来执行分页?

t98cgbkg  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(349)

我计划开发一个应用程序,用azure函数(http触发器)对cosmosdb执行查询,返回查询结果作为响应,并在webui上显示响应。
我正在尝试分页查询结果,因为长查询结果可能超过azure lb超时默认值(230秒)。
在使用延续令牌分页的情况下,分页将在查询结果达到maxitemcount之前发生,例如当响应大小超过上限时。
https://docs.microsoft.com/en-us/azure/cosmos-db/concepts-limits#per-请求限制
micosoft不赞成在rdbsql中指定offset和limmit的方法,有报道称它不能正常工作。
cosmos db offset limit子句不起作用
如何通过为cosmos db的查询结果指定每页的项数来执行分页?

sf6xfgos

sf6xfgos1#

您可以尝试以下代码:

CosmosQueryRequestOptions queryOptions = new CosmosQueryRequestOptions();

Iterable<FeedResponse<Family>> feedResponseIterator =
                    container.queryItems(query, queryOptions, Family.class).iterableByPage(continuationToken,pageSize);

有关详细信息,请参阅此链接。

相关问题