0

我正在使用我的自定义 DocumentDB Api App (.NET SDK),它从 SQL 数据库中读取数据并将其推送到集合中。这在逻辑应用程序中使用。

逻辑应用工作流:SQLConnector -> JSONEncoder -> DocumentDBApiApp

如果我检查 DocumentDBApiApp 的最后一步,它有 1663 个唯一 ID 正在写入集合中。

但是当我通过 API 管理检查集合或查询集合时,我只得到 505 个 ID。然后我再次触发逻辑应用程序并再次查询集合,它是 776 ID,依此类推。

我在这里想念什么?我有许多以相同方式构建的逻辑应用程序,但它们运行良好。

编辑:Sqlconnector 使用存储过程(数据库视图)来获取数据。

4

1 回答 1

0

你能分享包含查询的代码吗?

一种可能性是您可能只查看一组分页查询结果的第一页。DocumentDB 根据几个限制对查询结果进行分页(以先命中者为准):

  • 响应大小 (1mb)
  • RU 费用(基于预配置的吞吐量)
  • 响应时间(5 秒)

当达到限制时,将返回一个包含找到的任何 DocumentDB 的页面以及一个继续令牌。使用延续令牌的后续请求将检索下一页结果。

延续在 SDK 中通过一个可迭代的查询实现,它允许您使用 has executeNextAsync() 遍历页面。您可以在此处找到代码示例:https ://github.com/Azure/azure-documentdb-dotnet/blob/master/samples/code-samples/Queries/Program.cs#L609-L619

于 2016-06-03T21:03:53.677 回答