Можно ли использовать потоковую аналитику azure с шиной Mod? - PullRequest
0 голосов
/ 19 июня 2020
• 1000 для данных Modbus или op c ua смоделированных данных существует только один запрос, который можно выполнить, это select *, а также можно ли будет найти значение объекта с помощью azure запроса аналитики. я предоставляю значение json для ссылки {"body": {"PublishTimestamp": "2020-06-23 05:34:22", "Content": [{"HwId": "PowerMeter-0a: 01: 01 : 01: 01: 01 "," Данные ": [{" CorrelationId ":" DefaultCorrelationId "," SourceTimestamp ":" 2020-06-23 05:34:21 "," Значения ": [{" DisplayName ":" влажность »,« Адрес »:« 400002 »,« Значение »:« 47 »}, {« DisplayName »:« Температура »,« Адрес »:« 400001 »,« Значение »:« 78 »}]}]}] }} мне нужно найти данные значения с помощью аналитического запроса azure. Это мой запрос. Я могу получить данные до Content

SELECT body.Content FROM temperature

и когда я пробуя этот запрос, выберите body.Content.data.Values.Value FROM temperature

я получаю null в качестве вывода

заранее спасибо Avi

1 Ответ

0 голосов
/ 26 июня 2020

Это единственный вопрос, который я смог найти по этому топи c. Я работаю в основном над тем же: я использую модуль Modbus из Azure Marketplace в приложении IoT Edge, и я хотел проанализировать входящие данные Modbus из IoT Hub, чтобы я мог просмотреть их в таблице, где каждое значение ссылается на связанные с ним HwId и Timestamp.

Думаю, я нашел кое-что, что может сработать для вас. Вам нужно указать каждое из вложенных значений JSON в виде массивов с помощью GetArrayElements:

SELECT
    ncontent.ArrayValue.HwId as HwId,
    ndata.ArrayValue.SourceTimestamp as [Timestamp],
    nvalues.ArrayValue.DisplayName as DisplayName,
    nvalues.ArrayValue.Address as Address,
    nvalues.ArrayValue.Value as Value
INTO
    <output>
FROM
    <input> i
    CROSS APPLY GetArrayElements(i.Content) as ncontent
    CROSS APPLY GetArrayElements(ncontent.ArrayValue.Data) as ndata
    CROSS APPLY GetArrayElements(ndata.ArrayValue.[Values]) as nvalues

Вот результат, который я получил в результатах теста:

HwId     Timestamp               DisplayName    Address   Value
"HwId1"  "2020-06-26 19:16:31"   "HREG0002"     "40002"   "32019"
"HwId2"  "2020-06-26 19:16:31"   "HREG0005"     "40005"   "17506"
"HwId3"  "2020-06-26 19:16:31"   "HREG0008"     "40008"   "33352"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...