Получить список сообщений, отправленных устройством IoT

Я ищу способ узнать, какое устройство отправило какое сообщение в Azure. Через "IoT-концентратор" мы можем получить список устройств, но я не могу найти способ соотнести сообщения с устройствами.

У кого-нибудь есть идеи? Заранее спасибо.

С уважением

3 ответа

Решение

Когда сообщение поступает в IoT Hub, концентратор добавляет к сообщению ряд системных свойств, включая идентификатор устройства, отправившего сообщение, - для получения дополнительной информации о свойствах сообщения см. Https://docs.microsoft.com/en. -us / лазурь / ИТН-концентратор / ИТН-узловые devguide-сообщения-конструкт

Если вы используете C# для чтения сообщений, см. Свойство ConnectionDeviceId этого класса: https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.devices.messagesystempropertynames?view=azure-dotnet

Посмотрите на этот документ для более подробной информации о формате сообщения. Идентификатор устройства является частью системных свойств системы сообщений IoT, таких как ConnectionDeviceId.

В следующем примере показан запрос задания ASA. Вы можете увидеть, как получить идентификатор устройства из сообщения телеметрии через потоковый конвейер:

WITH subquery as (
  SELECT 
    System.Timestamp as time,
    counter,
    temperature, 
    humidity,
    EventProcessedUtcTime,
    IoTHub.ConnectionDeviceId as deviceId,
    IoTHub.MessageId as messageId
  FROM iot Timestamp by time
)

SELECT
    *
INTO
    outBlob
FROM
    subquery

Другой пример - функция Azure EventHubTrigger (AF). Телеметрическое сообщение из потокового конвейера (конечная точка событий) сериализуется в объект EventData и передается в AF:

  public static async Task Run(EventData ed, TraceWriter log)
  {  
     log.Info($"Label = {ed.SystemProperties["iothub-message-source"]} -{ed.SystemProperties["iothub-connection-device-id"]}/{ed.SequenceNumber}");

     // ...
  }

Вы можете попробовать расширение Azure IoT Toolkit для кода VS, чтобы отслеживать все сообщения, отправляемые в концентратор IoT Azure. Вы могли видеть, какое устройство отправило какое сообщение в концентратор IoT Azure.

Мониторинг сообщений D2C

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

Другие вопросы по тегам