当前位置: 首页 > 知识库问答 >
问题:

Azure函数Cosmos DB输入绑定文档计数限制

谢志用
2023-03-14

我正在构建一个持久的函数,定期处理Cosmos DB中的每条记录(晚上和周末)。现在我只有几百条记录,但是一旦我投入生产,我就会期待

我通过具有以下绑定的活动触发器获取文档:

{
  "bindings": [
    {
      "name": "name",
      "type": "activityTrigger",
      "direction": "in"
    },
    {
      "type": "cosmosDB",
      "direction": "in",
      "name": "articles",
      "databaseName": "Arts",
      "collectionName": "ArtData",
      "connectionStringSetting": "CosmosTrigger_ConnectionString",
      "sqlQuery": "SELECT * FROM c WHERE c.type='article'"
    }
  ],
  "scriptFile": "../dist/GetAllArticleData/index.js"
}

通过 SQL 查询绑定返回到 Azure 函数的文档总数是否有限制?或者 Azure 函数是否自动处理分页并且没有上限?

如果没有内置的分页功能,那么如何将持久函数链接在一起呢?第一个活动获取总行数,然后调用扇出/入查询函数,OFFSET和LIMIT子句是从orchestrator传入的参数。这种模式可靠吗?

共有1个答案

燕元明
2023-03-14

Cosmos DB输入绑定提取整个查询结果,并将它们传递给函数,不需要继续。

如果查询有 10 个结果或 1000 个,它将排出查询并将其作为输入传递。

下面是代码参考。

 类似资料:
  • 我在CosmosDB中有两个集合,和。 集合保存所有历史价格,并不断更新。 我想创建一个Azure函数,它监听< code>StockPrices更新(< code>CosmosDBTrigger),然后对触发器传递的每个< code >文档执行以下操作: 在集合中查找具有匹配代码的股票 在集合中更新股票价格 我不能用<code>CosmosDB(绑定仅在触发器传递单个项时有效)。 我看到它工作的

  • 我对Azure函数和CosmosDB输出绑定有问题。我现在拥有的是:我从一个Cosmos DB容器中读取数据,处理一些东西,然后将结果输出回同一个DB但不同的容器。我正在使用VSCode和python,并测试了其他输出(blob、HTTP响应等),所有这些都正常工作,所以我认为这是CosmosDB的问题。 主要功能定义如下: function.json输出绑定如下: 请注意,我使用和我的扩展手动安

  • 我制作了一个Azure函数(http触发器),并使用Visual Studio 2019将其部署在门户中。 该函数工作正常,我现在将添加一个绑定到我的CosmosDB。我导航到我的函数,然后单击“集成”。现在我看到了触发器、函数以及输入和输出绑定。 我应该可以在这里添加一个新的输入绑定。但我没有“添加”按钮。我做错了什么?

  • 在Azure Functions中,我可以轻松地创建到Cosmos DB Connection的输入绑定,并指定SqlQuery,以便在每次调用时将一些数据传递到我的函数中,如下所述:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb#input---example-2 我想知道这个查

  • 我想创建一个Azure函数,它接受传递给它的JSON主体,并将该文档插入到Azure COSMOSDB实例中。 并按如下方式实现该函数: 在门户中,我放入了一个简单的示例文档:

  • 在app服务中有一个learn_DOCUMENTDB配置设置,它具有到cosmos db实例的有效连接字符串(是自动创建的)。 错误日志条目表示: 无法将CosmosDB绑定到类型“System.String”。可能的原因:1)试图绑定到“Microsoft.Azure.Documents.Client.DocumentClient,Microsoft.Azure.DocumentDB.Core,