樹莓派IoT Device遙測上傳IoT Hub 並通過Stream Analytics job 存儲數據

首先新建Stream Analytics job跟Storage Account具體步驟可以查閱微軟幫助文檔
鏈接: Azure Stream Analytics documentation.
進入portal -> Create a resource -> Stream Analytics job在這裏插入圖片描述然後起個名字啥的基本操作還有Storage Account那裏就不廢話了。

然後進入你的Stream Analytics job,設置Inputs,如果用IoT Device的話Endpoint用Messaging格式:
在這裏插入圖片描述
然後設置你的output,這裏partition key 跟row key就是方便檢索用的,隨便設置兩個你遙測的參數名稱就可以:
在這裏插入圖片描述
然後設置query,注意把默認模板內容換成你的input跟output的名稱:
在這裏插入圖片描述
然後開開心心的點開Start:
在這裏插入圖片描述然後發現第一個坑,上傳不了數據。首先遙測上傳到IoT Hub這部分是沒問題的,這個前邊的博客已經測過了,那麼就是數據Stream Analytics job讀取數據有問題,我的數據如下:

在這裏插入圖片描述
在此感謝微軟的三位工程師幫忙定位到了錯誤,紅框裏面的數據存在嵌套,讀取不正常,更改query語句,將需要的數據提取,嵌套的數據如紅框的處理模式,就可以成功上傳數據:
在這裏插入圖片描述
然後我又更改了一下所需要上傳的數據,增加了幾個字符串之後又不能正常上傳了。
這裏來到了坑二,我的遙測數據如下:
在這裏插入圖片描述
然後怎麼上傳都不能正常顯示數據。
查了半天首先懷疑是deviceid是保留字符導致的問題,結果換了之後還是不行,然後我們看了一下,實際支持的JSON格式裏字符串都是帶引號的:
在這裏插入圖片描述

我們通過:

deviceid = "\"" +deviceidraw + "\""

手動給輸出增加引號:
在這裏插入圖片描述
成功將數據保存到Table裏:
在這裏插入圖片描述
然後碰到另一個需要注意的:
output裏面同一個partition key下面的row key是不能相同的,否則會刷新不會新增。
不同partition key下的row key是可以相同的
Cheers

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章