我一直在使用 Cosmos DB REST API 来查询集合,当跨分区设置为 true 时,我遇到了特定查询的问题。奇怪的是,该查询适用于较旧的集合,但不适用于过去 5-6 个月内创建的集合。所有集合都是使用相同的脚本创建的。
我们最近对 Cosmos DB 所做的唯一更改是启用仅 AAD 身份验证。因此,我们的脚本现在检索 AAD 令牌而不是主密钥。此更改是否会影响新集合中的查询行为?
注意:相同的查询适用于 azure cosmos 数据浏览器中的旧集合和新集合 https://cosmos.azure.com/?feature.enableAadDataPlane=true
这是邮递员 REST API 调用的屏幕截图
执行查询时,检查响应中的
x-ms-continuation
标头。
如果标头存在并且具有某些值(根据注释,它是
{"token":null,"range":{"min":"05C1B9CD673390","max":"05C1C9CD673390"}}
),那么您需要在下一个请求中使用它以继续使用查询结果。
查询可以有空页,特别是跨分区的查询。
参考:https://learn.microsoft.com/azure/cosmos-db/nosql/query/pagination#continuation-tokens