IoTHubTrigger Azure Function 和 Azure IoT Hub





5.00/5 (1投票)
IoTHubTrigger Azure Function 和 Azure IoT Hub
目录
引言
过去几天,我一直在玩我的 MXChip,并写了一些相关的文章,你可以在这里找到它们。 在本文中,我们将向我们的 Azure IoT Hub 发送一些数据,并使用 IoTHubTrigger
事件中心触发器属性将 Azure 函数与我们的 IoT Hub 连接起来。 如果你准备好了,让我们开始吧。
背景
正如我所说,这篇文章是我的 IoT 文章系列的一部分,所以如果你读过我之前关于这个主题的文章,理解这个概念可能会更容易。 在开始这篇文章之前,请确保你已经创建了一个 Azure IoT Hub 并且它正在运行。 你可以通过连接实际设备(例如 MXChip)或使用模拟设备向此 IoT Hub 发送消息。
IoTHubTrigger 演示
创建 Azure 函数应用
我将在 Visual Studio 中创建一个 Azure 函数应用,如果你不确定如何创建和发布 Azure 函数,请阅读我之前文章的这一部分。 让我们现在创建一个新的解决方案。
当你点击确定时,会为你生成一个新的 Azure 函数,其中包含一些初始代码。 让我们按如下方式编辑该函数
using Microsoft.Azure.EventHubs;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using System.Text;
using IoTHubTrigger = Microsoft.Azure.WebJobs.EventHubTriggerAttribute;
namespace IoTHubTrigger_Azure_Function_and_Azure_IoT_Hub
{
public static class IoTHubFunc
{
[FunctionName("IoTHubData")]
public static void Run(
[IoTHubTrigger("messages/events", Connection = "IoTHubTriggerConnection",
ConsumerGroup ="FuncGroup")]EventData message,
ILogger log)
{
log.LogInformation($"C# IoT Hub trigger function processed a message:
{Encoding.UTF8.GetString(message.Body.Array)}");
}
}
}
这里,IoTHubTriggerConnection
是我们在 local.settings.json 文件中提供的连接字符串。 如果你有许多应用程序需要接收来自你的 IoT Hub 的数据,消费者组将发挥作用。 以下是 EventHubTriggerAttribute
类的定义。
public sealed class EventHubTriggerAttribute : Attribute
{
public EventHubTriggerAttribute(string eventHubName);
public string EventHubName { get; }
public string ConsumerGroup { get; set; }
public string Connection { get; set; }
}
向 Azure IoT Hub 发送数据
正如我之前提到的,你有两种方法可以将数据发送到 Azure IoT Hub。
- 使用设备,例如
MXChip
- 模拟设备
一旦数据发送,你就可以在 Azure IoT Hub 的概述部分看到接收到的消息计数。
运行 Azure 函数
因此,IoT Hub 已经开始接收来自设备的消息,现在我们可以使用 Azure 函数通过 IoT Hub 触发器从 IoT Hub 中提取数据。 运行你的函数应用和模拟设备应用程序,并查看输出。
如你所见,我们的 Azure 函数应用正在立即从 Azure IoT Hub 接收数据。 现在你可以使用此数据执行任何操作。 我将把这留给你。
结论
哇!现在我们已经学习了
- Azure 函数中 Azure IoT Hub 触发器的使用
- 创建 Azure 函数应用
- 在 Azure 函数应用中查看来自 Azure IoT Hub 的数据
你可以在这里阅读我的 IoT 文章。
现在轮到你了。你有什么想法?
非常感谢你的阅读。 我是否遗漏了你认为这篇文章中需要的任何内容? 你觉得这篇文章有用吗? 请记住分享你的反馈。