gpt4 book ai didi

azure - 请求中指定的连续 token 格式错误/连续 token Azure Cosmos DB 分页格式无效

转载 作者:行者123 更新时间:2023-12-03 02:20:37 30 4
gpt4 key购买 nike

我在使用延续 token 在 cosmos 数据库中实现分页时遇到问题。第一次我使用 JSON 格式的连续 token 获取第一批结果,但是当我将相同的 token JSON 字符串传回 cosmos DB 以获取下一组结果时,有时它会抛出“请求中指定的连续 token 格式错误”或有时“继续 token 的格式无效”。

这是代码-

        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)
{ }

谢谢

最佳答案

正如错误所示,延续标记似乎为空或格式无效。

如果 token 为空,

[{\"token\":null,\"range\":{\"min\":\"05C1DFFFFFFFFC\",\"max\":\"FF\"}}]

按照此 issue 中提到的步骤操作.

如果 token 无效,请尝试使用 Base64 对其进行编码,如下所示

string continuationToken = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(cosmosToken));

关于azure - 请求中指定的连续 token 格式错误/连续 token Azure Cosmos DB 分页格式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69220534/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com