2016-08-24 26 views
1

我有來自iot hub的數據,需要將其提供給SQL表。 IOT轂的JSON數據看起來像這 -如何從單個JSON(物聯網集線器)將流分析輸出轉換爲多行

[ { 「的DeviceID」: 「1」,

"Parking1": 50, 
"Parking2": 49, 
"Parking3": 37, 
"Parking4": 35 

},{ 「的DeviceID」: 「2」,

"Parking1": 45, 
"Parking2": 54, 
"Parking3": 37, 
"Parking4": 35 

} ]


而表看起來像這樣


DeviceId |描述|值


1 |停車1 | 10

1 |停車2 | 20

1 |停車3 | 30

1 |停車4 | 40

2 |停車1 | 10

2 |停車2 | 20


如果你需要爲floowing-

  1. 所以,我需要,以便查詢解析JSON數據寫在流分析查詢,並提到其置於4行的表以上。讓我知道需要寫什麼查詢來轉換表中每一行的每個鍵。

  2. 當設備ID與表格匹配時,Parking1,Parking2,Parking3和Parking4的值也應該插入表中。

  3. 此外,每次表中的值都應該更新不插入。

在此先感謝!

+0

您是否有靈活性的數據發送方式?如果您可以將停車信息作爲單獨的記錄發送,則可以使用GetRecordProperties()將其轉換爲您需要的形狀https://msdn.microsoft.com/en-us/library/azure/mt270221.aspx。ASA不支持SQL輸出的更新,如果保留所有數據是可以接受的,則可以添加timestamp列並寫入視圖以獲取deviceId,parkingId組合的最新值。 –

回答

0

通過你的JSON,「Parking1」,「Parking2」,「Parking3」,「Parking4」應該是表列。

你選擇查詢應該是

SELECT DeviceID, Parking, Parkign2, Parking3, Parking4 
    INTO <SQLOutput> 
    FROM <InputStream> 

此外,作爲輸入(IOT轂)和輸出(SQL天青)是用於一個ASA作業不同,數據只能被插入沒有更新。