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

无法在Azure Functions V2中注册CosmosDB绑定扩展

马庆
2023-03-14

我试图添加一个新函数(Http触发器)与CosmosDB输入绑定。

在阅读Azure Functions Version 2中的输入绑定手册时,我发现需要注册绑定扩展(https://docs.microsoft.com/en-us/Azure/azure-functions/Functions/functions-triggers-bindings#register-bindings-extensions),Azure portal应该向我显示一些注册提示(https://docs.microsoft.com/en-us/Azure/azure-functions/functions-triggers-bindings#azure-portal-development)

我很困惑,因为我在模板中看不到CosmosDB输入绑定的选择,因此没有任何提示。所以我尝试在function.json中手动添加代码,如下所示:

{
  "type": "cosmosDB",
  "name": "inputDocument",
  "databaseName": "DBName",
  "collectionName": "CollectionName",
  "connectionStringSetting": "CosmosDBConnect",
  "direction": "in",
  "Id": "myid",
  "partitionKey": "mypartitionkey"
}

当我试图打开我的函数C#代码时,我看到错误“函数错误(MyFuncName):绑定类型'cosmos db'没有注册。请确保类型正确,并安装了绑定扩展。”

在本页中,我看到Azure Functions版本2支持CosmosDB输入绑定(https://docs.microsoft.com/en-us/Azure/azure-functions/functions-triggers-bindings#supported-bindings)

共有1个答案

段干博涉
2023-03-14

更新

Azure CosmosDB输入/输出绑定模板已经可用,不要忘记单击安装

您遇到了Azure portal可能计划在未来支持的东西。目前还没有针对v2函数的cosmosdb绑定选项,只有在v1中才有。已打开一个问题来跟踪此功能支持。

解决办法是创建一个Cosmos DB触发器来安装cosmosdb扩展(实际上不需要创建触发器,只需要使用它来获得安装提示),但我们仍然必须在function.json中手动编码来添加绑定。

 类似资料:
  • 我有一个包在 此文件夹包含: 然后我在中注册: 这样做后,网站根本无法工作。日志上说: PHP致命错误:未捕获错误:在/var/www/html/symproject/app/AppKernel中找不到类“MyCompany\Action\Provider\MyAppProvider\Bundle\MyAppBundle”。php:20\n堆栈跟踪:\n#0/var/www/html/sympro

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

  • 我试图在将新文档添加到CosmosDb时触发Azure函数。所以我想我应该实现这个解决方案。 不过,我得到了错误: 绑定类型“cosmosDBTrigger”未注册。请确保类型正确,并安装了绑定扩展 在本地和Azure上! 所以,我知道当你从门户创建一个函数时,你已经得到了这个按钮,正如本文所解释的。但是我使用的是Visual Studio,所以所有这些都不会显示在Azure门户上。 我已经检查过

  • 扩展说明 负责服务的注册与发现。 扩展接口 org.apache.dubbo.registry.RegistryFactory org.apache.dubbo.registry.Registry 扩展配置 <!-- 定义注册中心 --> <dubbo:registry id="xxx1" address="xxx://ip:port" /> <!-- 引用注册中心,如果没有配置registry属

  • Extensions can be registered declaratively via @ExtendWith, programmatically via @RegisterExtension, or automatically via Java’s ServiceLoader mechanism. 5.2.1. Declarative Extension Registration Deve

  • 如果你要扩展一个注册中心,我们先看下注册中心的抽象类。 package com.alipay.sofa.rpc.registry; @Extensible(singleton = false) public abstract class Registry implements Initializable, Destroyable { public abstract boolean sta