本文主要分享一个案例:

10分钟使用消息路由将原始设备数据记录存档

 

本文主要有如下内容:

1.理解什么是消息路由,为什么要用消息路由

2.消息路由的类型

3.配置一个到Storage的消息路由,将原始设备消息存储到blob

4.配置一个到Storage的消息路由,当温度>30°C时,才存储下来

 

视频讲解:

请观看B站视频:https://www.bilibili.com/video/av90223893/

或本站视频(内容相同,二选一即可)

B站视频:

图文讲解:

本文参照官网:https://docs.azure.cn/zh-cn/iot-hub/tutorial-routing

 

 

1.什么是消息路由

消息路由是IoT Hub内置的一种消息分发机制,消息路由默认包含一个路由到 Event Hub(事件中心)内置终结点和路由,

我们上节内容中介绍到的使用Azure CLI 接收消息,就是从这个默认的Event Hub的终结点获取到的数据。

消息路由提供了将遥测消息/设备孪生事件/设备生命周期事件 根据设定的规则进行分发的能力,本文中,我们仅关注遥测消息。

消息路由将消息路由向不同的终结点(可以是存储,可以是消息中间件等),方便后续对接更多的业务逻辑或产品对数据进行处理。

2.消息路由的类型

消息路由支持Event Hub,Service Bus(类似于RabbitMq等消息中间件),Storage存储等共计4种,这四种产品或服务也都有对应的SDK,方便大家读取其中的数据。

3. 案例:设置消息路由并检查结果

 

如上图种,消息路由页面有“路由”“自定义终结点”,含义分别如下:

自定义终结点:规定了消息的目的地,目的地是Everent Hub,Service Bus等四个服务的具体实例;

路由:规定了什么样的数据(规则)送到哪个目的地;

因此需要先创建自定义终结点,再创建路由。

如下图,我们创建了一个到Storage的终结点,Batch频率100表示100秒才会执行一次批量写入到Storage,文件名格式为文件在Storage中存储的路径:

然后,创建了指向上述终结点的路由,其中路由查询true表示所有消息,此设置表示,所有遥测消息都发送到Storage的容器中。

开启客户端程序向IoT Hub发送遥测数据,一段事件后,进入到Storage中检查结果:

 

Azure IoT Hub 十分钟入门系列,其他文章,请参见:
  1. (视频)Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub
  2. (视频)Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息
  3. (视频)Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档
  4. (视频)Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage
  5. (视频)Azure IoT Hub 十分钟入门系列 (5)- 10分钟实现云到设备的消息(direct method)
  6. (视频)Azure IoT Hub 十分钟入门系列 (6)- 了解设备孪生(device twin)
  7. (视频)Azure IoT Hub 十分钟入门系列 (7)- 小结