2017-10-16 84 views
0

有什麼方法可以在設備MQTT事件和Device Twin數據之間自動同步數據?將數據從事件MQTT端點同步到Azure設備Twin

對於Azure IOT集線器中的給定設備,有一個mqtt事件端點和與其關聯的設備雙端點。

我已經嘗試通過設備的事件MQTT端點將MQTT事件數據發送到特定設備:devices // messages/events /並且它已成功。我能夠在設備瀏覽器中看到傳入的數據。

我的問題是,當我們通過設備的事件mqtt端點向設備發送一些數據時,這些數據將不會自動同步到相應設備的雙胞胎中。我認爲它應該自動發生。在azure中,我們必須手動(以編程方式)爲通過設備的事件端點接收的每個事件數據執行雙數據推送。

這可以通過推MQTT數據到設備雙端點來完成:$ iothub /雙/ PATCH /屬性/報告/ $擺脫= ID

反正是有,我們可以自動做到這一點? - 手段自動同步來自事件mqtt流的數據到Device Twin?

回答

1

Azure IoT Hub的主要重點是實時將設備遙測數據攝入Azure IoT Stream Pipeline。除此之外,每個設備都具有將其狀態保存在Azure存儲中的能力,該存儲被稱爲諸如json格式文檔之類的設備雙胞胎。該設備雙內置支持在現代事件驅動的分佈式體系結構中同步設備和後端雲之間的狀態。

上述兩種通訊方式(如設備到雲端和設備雙胞胎)的區別在Reference - IoT Hub quotas and throttling中描述。

根據這個文件,你可以看到,該設備雙用於非頻繁的設備狀態的持久性,例如:設備的固件版本,一些設備配置,閾值告警等

換句話說,設備孿生不用於在雲端後端存儲實時設備遙測數據。在物聯網中,來自設備的所有遙測數據(東西)都會進入流管道進行實時分析等。

但是,Azure IoT Hub有能力幫助您處理場景,設備遙測數據及其設備雙變化可以實時存儲在Azure Blob存儲中,請參閱此功能here。您可以使用Azure功能和/或流作業爲您的業務邏輯分析,查詢此Blob。