2015-10-09 78 views
5

我剛開始學習Azure IoT,它非常有趣。我很困惑IoT Hub是否在某處存儲數據?

即假設我將房間溫度傳遞給物聯網集線器並希望將其存儲在數據庫中以供進一步使用。怎麼可能?

我很清楚設備到雲以及雲到設備如何與物聯網集線器一起使用。Microsoft Azure IoT Hub是否存儲數據?

回答

7

IoT Hub通過事件集線器端點將設備暴露給雲消息。活動中心的保留時間以天爲單位。這是一個讀取客戶端可以重新讀取更多時間的數據流,因爲光標位於客戶端(而不是像隊列和主題那樣位於服務器端)。使用物聯網Hub時,相關的保留時間默認爲1天,但您可以更改。

如果要存儲來自設備的收到消息,您需要有一個客戶端讀取事件中心暴露的端點(例如,使用事件處理器主機),該端點具有處理消息並將它們存儲到數據庫中的業務邏輯例如。

當然,您可以使用另一個解耦層,以便客戶端從事件中心讀取並將消息存儲到隊列中。然後你有另一個客戶按照自己的速度從隊列中讀取並存儲到數據庫中。通過這種方式,您可以快速閱讀活動中心。

4

這幾乎是所有物聯網場景的用例。

第1步:通過Event Hub進行大規模數據攝取。

第2步:創建並使用流處理引擎(流分析或HDInsight/Storm)。您可以運行條件(類似於查詢的SQL)來過濾並將適當的數據存儲在冷庫或熱庫中以供進一步分析。

第3步:冷路徑分析存儲可以是Azure BLOB。流分析可直接配置爲將數據寫入其中。 Cold可以包含所有其他不需要查詢且價格便宜的數據。

第4步:處理熱路徑分析。這是更經常查詢的數據。或需要進行實時分析的數據。就像在你的情況下檢查溫度值超出閾值一樣!需要一個緊急觸發器!

讓我知道如果您在配置流分析作業時面臨任何挑戰! :)

+0

嗯。這對MS Azure IoT的設計目標很有見地。非常重視(可能偏見?)朝着實時行動。我在這裏看到的是冷路徑分析(這需要查詢)。例如,在一段時間內(例如過去的一個月或一年)審查和了解設備行爲,而不僅僅是實時。 – dapug