Azure cosmosdb ExecuteExtAsync不工作

Azure cosmosdb ExecuteExtAsync不工作,azure-cosmosdb,nosql,Azure Cosmosdb,Nosql,我正在使用Azure DocumentDB。我正在查看ExecuteExtAsync操作。我看到的是ExecuteExtAsync没有返回reslut。我使用的是我在网上找到的例子,没有产生任何结果。如果调用枚举操作,则返回初始查询结果。是否有一个示例显示使用ExecuteExtAsync的完整配置 更新 更明确地说,我实际上没有得到任何结果。调用似乎刚刚运行,没有生成错误 在处理集合定义时,我发现当我将集合大小设置为250GB时,出现了这种情况。我测试了10GB的数据集,它确实工作了一段时间。

我正在使用Azure DocumentDB。我正在查看ExecuteExtAsync操作。我看到的是ExecuteExtAsync没有返回reslut。我使用的是我在网上找到的例子,没有产生任何结果。如果调用枚举操作,则返回初始查询结果。是否有一个示例显示使用ExecuteExtAsync的完整配置

更新 更明确地说,我实际上没有得到任何结果。调用似乎刚刚运行,没有生成错误

在处理集合定义时,我发现当我将集合大小设置为250GB时,出现了这种情况。我测试了10GB的数据集,它确实工作了一段时间。最新的测试表明,这项行动现在再次暂停


我生成了两个集合。第一个集合似乎工作正常。第二个查询在此操作中似乎失败。

ExecuteExtAsync
的单个调用可能返回0个结果,但是当您通过调用它直到
HasMoreResults
为false来运行查询以完成查询时,您将始终获得完整的结果

几乎总是,对
ExecuteNextAsync
的一次调用将返回结果,但由于两个原因,您通常会得到0个结果:

  • 如果查询是扫描,则DocumentDB将根据可用吞吐量进行部分处理。此处不返回任何结果,但返回基于最新进度的新继续令牌以继续执行
  • 如果是跨分区查询,则每个调用都针对单个分区执行。在这种情况下,如果该分区没有与查询匹配的文档,则调用将不返回任何结果

如果希望查询以确定方式返回结果,则必须使用
SELECT TOP
vs.使用延续令牌/
ExecuteNextAsync
作为分页机制。通过将
FeedOptions.MaxDegreeOfParallelism
更改为-1,您还可以跨多个分区并行读取查询结果。

据我所知,HasMoreResults与基于分页策略的查询具有更多可用结果的标识相关。HasMoreResults是用来分页搜索结果的。而不是为了确保你得到结果。我不相信我可以在我的场景中使用这个属性。我没有激活分页,但基于在后续调用中使用RequestContinuation令牌。查询是对集合的简单选择。此外--我正在对同一个查询(不返回任何记录)执行计数,计数返回大于零-因此聚合似乎可以工作。