Как получить вывод потоковой аналитики в несколько строк из одного JSON (IOT HUB)

У меня есть данные, поступающие из концентратора iot, и их нужно передать в таблицу SQL. Данные JSON iot-хаба выглядят так:

[{"DeviceId": "1",

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

}, {"DeviceId": "2",

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

} ]


И таблица выглядит так


DeviceId | Desc | Значение


1 | Парковка1 | 10

1 | Парковка2 | 20

1 | Парковка3 | 30

1 | Парковка4 | 40

2 | Парковка1 | 10

2 | Парковка2 | 20


Нужны ответы на поток -

  1. Поэтому мне нужно написать запрос в потоковой аналитике, чтобы запрос анализировал данные JSON и помещал их в 4 строки таблицы, как указано выше. Сообщите мне, какой запрос нужно написать, чтобы преобразовать каждый ключ в каждой строке таблицы.

  2. ТАКЖЕ значения Parking1, Parking2, Parking3 и Parking4 должны быть вставлены в таблицу, когда идентификатор устройства совпадает с таблицей.

  3. Также каждый раз, когда значения в таблице должны обновляться, а не вставляться.

Заранее спасибо!


person Ambika    schedule 24.08.2016    source источник
comment
Есть ли у вас гибкость в способе отправки данных? Если вы можете отправить информацию о парковке как отдельную запись, вы можете использовать GetRecordProperties (), чтобы преобразовать ее в нужную вам форму msdn.microsoft.com/en-us/library/azure/mt270221.aspx. ASA не поддерживает обновление для вывода SQL, вы можете добавить столбец отметки времени и написать представление, чтобы получить недавнее значение для комбинации deviceId и ParkingId, если сохранение всех данных допустимо.   -  person Vignesh Chandramohan    schedule 17.10.2016


Ответы (1)


Просматривая ваш JSON, "Parking1", "Parking2", "Parking3", "Parking4" должны быть столбцами таблицы.

Ваш выбранный запрос должен быть

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

Кроме того, поскольку вход (концентратор iot) и выход (SQL Azure) различны для задания ASA, данные могут быть только вставлены, но не обновлены.

person NetYogi    schedule 13.12.2016