我创建了一个 Azure 函数,使用 IoT 中心的 EventHub 的内置端点将消息从 Azure IoT 中心存储到表存储。我正在使用 Azure Functions v2(.Net Standard)来创建 EventHubTrigger 函数。我开发了该函数并在本地进行了测试,它正在按要求工作。但是当我在 Azure 中托管此函数时,它在门户中显示以下错误:
错误:绑定(bind)类型“eventHubTrigger”未注册。请确保类型正确并安装绑定(bind)扩展。
我已经在代码中安装了 Microsoft.Azure.WebJobs.Extensions.EventHubs -v 3.0.0-beta4 nuget 包。
有人可以帮助解决此错误吗,因为文档中对此没有提及太多。
以下是解决方案中安装的软件包:
- Microsoft.NET.Sdk.Functions 1.0.13
- Microsoft.Azure.WebJobs.EventHubs 3.0.0-beta4
- NETStandard.Library v2.0.3
最佳答案
不同的行为是由 VS 中旧的 Azure Functions 和 Web Jobs Tools
引起的,这意味着 VS 仍然使用旧的函数模板和 cli。
只需将 VS2017 更新为 latest version (现在为 15.8.6)并转到 VS 菜单>工具>扩展和更新,找到 Azure Functions 和 Web Jobs Tools
,将其更新为 latest version (现在是 2009.0.10 15)。
经过更新步骤,新的 EventHub 触发器模板可与 Microsoft.NET.Sdk.Functions
1.0.22 和 Microsoft.Azure.WebJobs.EventHubs
3.0.0 配合使用。函数 cli 是
Azure Functions Core Tools (2.0.3)
Function Runtime Version: 2.0.12115.0
关于Azure函数: The binding type(s) 'eventHubTrigger' are not registered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52643800/