Azure Functions - 如何为我的 IoTHub 消息设置 IoTHubTrigger?

Azure Functions - how to set up IoTHubTrigger for my IoTHub messages?

如何正确设置和配置 IoTHubTrigger 以便为我的 IoTHub 消息触发 Azure 函数 (C#)?在哪里以及如何插入 IoTHub 的连接字符串?

使用 Visual Studio 2017 的步骤:

  1. 首先确保您拥有最新版本的 Azure Functions 和 Web Jobs Tools

  1. 转到文件->新建->项目->Azure 函数和 select "IoT Hub Trigger"

  2. Select 函数 V1 或 V2(了解其中的差异 here)。并输入一个任意名称,作为您的连接字符串配置的关键。

  3. 打开 local.settings.json 并为您的连接字符串输入 key/value 对:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
        "ConnectionString":  "<your connection string>"
    }
}

重要

如果使用 Functions V1,请使用从此处在门户中获取的 IoTHub 连接字符串:

如果使用 Functions V2,请使用从此处在门户中获取的 IoTHub 的 EventHub 兼容端点:

  1. 现在在您的函数中设置一个断点并按 F5。您将看到您的消息从 IoTHub 流向您的 Azure 函数(假设您连接了正在发送数据的设备或模拟器)

使用 Azure 门户的步骤

  1. 创建新的 Function App 资源和 select EventHub 触发器模板

  2. 点击 "New" 连接 EventHub 和 select IotHub 以及您想要的集线器

  3. 编辑并保存您的功能代码 - 您现在已经启动 运行!

  4. 切换到 "Monitor" 查看您的活动流入

创建 IoTHub 触发器 Azure Functions 的更多选项

a) 将 VS Code 与 Azure Functions Extension
一起使用 b) 从命令行使用 Azure Functions Core Tools

我还需要安装 NuGet 包 Microsoft.Azure.WebJobs.Extensions.EventHubs

我想补充一点,如果你想在 Azure 上发布该功能,你必须为门户端添加连接字符串