从存储帐户部署代码时,Azure函数事件集线器触发绑定注册失败



使用应用程序设置WEBSITE_RUN_FROM_PACKAGE从存储帐户中的压缩代码部署代码时,事件集线器触发器绑定注册失败。给出以下错误:

The binding type(s) eventHubTrigger are not registered

当通过VS代码进行解压缩部署时,同样的代码也能正常工作。

Host.json

{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}

函数.json

{
"bindings": [
{
"type": "eventHubTrigger",
"name": "myEventHubMessage",
"direction": "in",
"eventHubName": "eventHubName",
"connection": "myEventHubReadConnectionAppSetting"
}
]
}

更新host.json并添加"扩展";

{
"version": "2.0",
"extensions": {
"blobs": {},
"cosmosDb": {},
"durableTask": {},
"eventHubs": {},
"http": {},
"queues": {},
"sendGrid": {},
"serviceBus": {}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}}
  • 使用了上面的提示,在host.json中明确提到了扩展
  • 将host.json移到代码文件夹上方的一个级别,我将其保持在同一级别

PS:这是使用Azure功能扩展进行VS代码部署的,因为当在根级别上没有检测到host.json时,VS代码会根据functions.json 中指定的触发器自动安装扩展

相关内容

  • 没有找到相关文章

最新更新