本文主要分享一個案例:
10分鐘使用消息路由將原始設備數據記錄存檔
本文主要有如下內容:
1.理解什麼是消息路由,爲什麼要用消息路由
2.消息路由的類型
3.配置一個到Storage的消息路由,將原始設備消息存儲到blob
4.配置一個到Storage的消息路由,當溫度>30°C時,才存儲下來
B站視頻講解:https://www.bilibili.com/video/av90223893/
圖文講解:
本文參照官網: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中檢查結果: