Фильтр Azure Stream Analytics входной IOT-концентратор - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь сохранить входящие сообщения IOT Hub D2C в базе данных Azure Cosmos с помощью Azure Stream Analytics. Каждый учебник Azure Stream Analytics, который я могу найти, предполагает, что сообщения, поступающие со входа IOT Hub, имеют одинаковую форму, что неверно для моего случая (в целях тестирования я использую модуль tempSensor из IOT Edge Примеры модулей и другой заказной модуль на основе этого руководства ).

Вот почему я хочу отфильтровать сообщения, которые я не хочу сохранять (то есть сообщения, отправленные модулем tempSensor). В документации о использовании IOT-концентратора в качестве входных данных для анализа потока Azure упоминается «StreamId»:

"IoTHub.StreamId: пользовательское свойство события, добавленное устройством отправителя."

Моя идея состоит в том, чтобы использовать предложение WHERE в запросе Azure Stream Analytics, чтобы выбирать только сообщения с определенным StreamId, но я не представляю, как установить этот StreamId при отправке сообщения из моего пользовательского пограничного модуля IOT.

  • Как установить StreamId при отправке сообщения на концентратор IOT с пограничного устройства IOT?
  • Есть ли другой способ отфильтровать нежелательные сообщения?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

знаете ли вы все сообщения, которые хотите оставить или отклонить? Если это так, вы также можете фильтровать данные (а не метаданные). Особенно, если все сообщения приходят с одного устройства IoT Edge, они могут делиться некоторыми метаданными. Например, чтобы отфильтровать сообщения из модуля tempSensor, вы можете использовать этот запрос:

SELECT * FROM input WHERE machine.temperature is NULL
0 голосов
/ 06 сентября 2018
  • Как установить StreamId при отправке сообщения на IOT-хаб из устройство IOT Edge?

ОБНОВЛЕНИЕ : похоже на проблему с документом. Это не системное свойство в сообщении IoT Hub, и мы не смогли установить значение для этого свойства. Microsoft обновит документ. Цените ваше терпение.

  • Есть ли другой способ отфильтровать нежелательные сообщения?

Вы можете создать модуль фильтра на своем устройстве, а затем настроить маршрут для передачи сообщения D2C на фильтр. Здесь - учебное пособие. В этом решении.

Вы можете развернуть функции Azure для фильтрации данных датчика на устройстве IoT Edge. Пожалуйста, обратитесь к этому документу .

...