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

Azure函数的Azure Cosmos DB输入绑定不起作用

戚兴邦
2023-03-14
{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "Request",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "Response"
    },
    {
      "name": "bookmark",
      "direction": "in",
      "type": "cosmosDB",
      "databaseName": "func-io-learn-db",
      "collectionName": "Bookmarks",
      "connectionStringSetting": "learn_DOCUMENTDB",
      "id": "{id}",
      "partitionKey": "{id}",
      "sqlQuery": ""
    }
  ]
}

在app服务中有一个learn_DOCUMENTDB配置设置,它具有到cosmos db实例的有效连接字符串(是自动创建的)。

错误日志条目表示:

无法将CosmosDB绑定到类型“System.String”。可能的原因:1)试图绑定到“Microsoft.Azure.Documents.Client.DocumentClient,Microsoft.Azure.DocumentDB.Core,Version=2.9.2.0,Culture=Neutrace,PublicKeyToken=31BF3856AD364E35”,但用户类型assembly为“System.String,System.Private.Corelib,Version=4.0.0.0,Culture=Neutrace,PublicKeyToken=7CEC85D7BEA7798E”。

我是不是做错了什么?

共有1个答案

姚高爽
2023-03-14

我也遇到了同样的问题,发现新UI生成的绑定与旧UI不同。

新UI:

{
  "name": "bookmark",
  "direction": "in",
  "type": "cosmosDB",
  "databaseName": "func-io-learn-db",
  "collectionName": "Bookmarks",
  "connectionStringSetting": "learn-0088a129-899f-4d18-b4db-5fa74daf1cc3_DOCUMENTDB",
  "id": "{id}",
  "partitionKey": "{id}",
  "sqlQuery": ""
}

旧UI:

{
  "type": "cosmosDB",
  "name": "bookmark",
  "databaseName": "func-io-learn-db",
  "collectionName": "Bookmarks",
  "connectionStringSetting": "learn-0088a129-899f-4d18-b4db-5fa74daf1cc3_DOCUMENTDB",
  "id": "{id}",
  "partitionKey": "{id}",
  "direction": "in"
}
"sqlQuery": ""
 类似资料:
  • 我有一个 Azure 函数应用,它在过去几周内工作正常,但自定义域上的 SSL 绑定已停止工作。SSL未过期或类似的东西。 错误响应为: 门户在Azure Functions设置下正确显示绑定。这也是消费计划上的一个Azure功能。 我已经初始化了一个支持,但没有解决这个问题的运气。

  • 我正在尝试使用服务总线队列触发器来触发azure函数,它工作得很好。我还想做的是在同一个函数上使用Cosmos Db输入绑定。该函数由特定文档触发,并通过输入绑定获得结果,以便进行简单的查询,如: function.json 进入Azure函数的触发器数据:

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

  • 我有一个EventHubTrighted函数app。下面是方法签名的代码示例: @functionname(“foo”)@storageaccount(“foostorageRead”)public HttpResponseMessage run(@httptrigger(name=“req”,methods={httpmethod.post},authLevel=authorizationlev

  • 我正在构建一个持久的函数,定期处理Cosmos DB中的每条记录(晚上和周末)。现在我只有几百条记录,但是一旦我投入生产,我就会期待 我通过具有以下绑定获取文档: 通过 SQL 查询绑定返回到 Azure 函数的文档总数是否有限制?或者 Azure 函数是否自动处理分页并且没有上限? 如果没有内置的分页功能,那么如何将持久函数链接在一起呢?第一个活动获取总行数,然后调用扇出/入查询函数,OFFSE

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