Ide*_*ity 2 c# azure azure-cosmosdb
我正在测试DocumentDb中的新更改源.我通过轮询API将它连接到Logic应用程序.
因为我每个请求只需要1个项目,所以我将MaxItemCount设置为1.这非常有效......直到获得36个结果.下一个请求给出了70个结果(并且最大项目数设置为1)并且跳过了+ - 150个文档.
这是DocumentDB中的错误还是我做错了什么?
看到代码,前36次,我只得到1个结果,从那时起我得到了上述问题:
var changeFeedOptions = new ChangeFeedOptions
{
MaxItemCount = 1,
RequestContinuation = continuationToken,
PartitionKeyRangeId = partitionKey, // singe partioned collection
StartFromBeginning = fromBeginning
};
var feed = ((DocumentClient) _documentClient).CreateDocumentChangeFeedQuery(
collectionUri,
changeFeedOptions);
var result = await feed.ExecuteNextAsync();
var document = result.FirstOrDefault();
return new ChangeFeedResponse
{
ContinuationToken = result.ResponseContinuation, // this token will be used the next time
Document = document
};
Run Code Online (Sandbox Code Playgroud)
小智 5
对于Change Feed,粒度是按事务进行的,这意味着来自同一事务的更改被视为原子块,并且它本身返回(不能中断事务).因此,Change Feed的结果可以将MaxItemCount(页面大小)扩展到事务边界.例如,一个脚本插入了70个文档 - 所有这些都是单个事务,您轮询更改并提供MaxItemCount = 1; 你会得到70项(它将在交易边界停止).这有意义吗?
这些70个文档是通过脚本插入的吗?
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |