首先新建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