Azure IoT Hub与Azure函数的集成

在本文中,将向Azure IoT Hub发送一些数据,并将Azure函数与IoT Hub连接,使用IoTHubTrigger事件中心触发器属性。如果准备好了,让开始吧。

正如所说,这篇文章是物联网系列文章的一部分,所以如果已经阅读了关于这个话题的前几篇文章,理解这个概念可能会更容易。在开始本文之前,请确保已经创建了一个正在运行的Azure IoT Hub。可以通过连接实际设备,比如MXChip,或者使用模拟设备来发送消息到这个IoT Hub。

IoTHubTrigger演示

将在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发送数据。

  • 使用设备,例如MXChip
  • 模拟设备

一旦数据发送,可以在Azure IoT Hub的概览部分看到消息接收计数。

所以,IoT Hub已经开始从设备接收消息,现在可以使用Azure函数通过IoT Hub触发器从IoT Hub拉取数据。运行函数应用,模拟设备应用程序,并查看输出。

正如在输出中看到的,Azure函数应用立即从Azure IoT hub接收数据。现在可以对这些数据执行任何操作。将留给来决定。

现在已经介绍了:

  • 在Azure函数中使用Azure IoT Hub触发器
  • 创建Azure函数应用
  • 在Azure函数应用中查看来自Azure IoT Hub的数据
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485