【发布时间】:2021-11-12 03:52:11
【问题描述】:
我在使用延续令牌在 cosmos 数据库中实现分页时遇到问题。我第一次使用 JSON 格式的延续令牌获得第一批结果,但是当我将相同的令牌 JSON 字符串传递回 cosmos DB 以获取下一组结果时,有时它会抛出“请求中指定的延续令牌格式错误”或有时“延续令牌的格式无效”。
这里是代码-
QueryRequestOptions queryRequestOptions = new QueryRequestOptions
{
MaxItemCount = pageSize
};
try
{
using (FeedIterator<TOutputDocument> resultSetIterator = _cosmosContainer.GetItemQueryIterator<TOutputDocument>(queryDefinition, continuationToken, queryRequestOptions))
{
if (resultSetIterator.HasMoreResults)
{
FeedResponse<TOutputDocument> response = await resultSetIterator.ReadNextAsync();
if (response == null)
{
throw new NullReferenceException($"Unable to get response from cosmos db against query - {query}, container - {nameof(_cosmosContainer)}");
}
continuationToken = response.ContinuationToken;
documents.AddRange(response);
}
}
}
catch (CosmosException ex)
{ }
谢谢
【问题讨论】:
-
你可以在问题中添加continuationToken吗?
-
2 种可能的情况:您在不同的查询中使用延续令牌,或者您可能在其他地方(可能通过 Web API)发送该延续令牌,当它返回时,它被错误编码.喜欢stackoverflow.com/q/66995110/5641598
标签: azure azure-cosmosdb azure-cosmosdb-sqlapi