Получить список сообщений, отправленных устройством 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.
Вы также можете обратиться к этому сообщению в блоге для получения более подробной информации о том, как использовать это расширение для мониторинга сообщений.