Azure 获取物联网设备发送的消息列表

Azure 获取物联网设备发送的消息列表,azure,azure-iot-hub,Azure,Azure Iot Hub,我正在寻找一种方法来查看哪台设备在Azure中发送了哪条消息。 通过IoT hub,我们可以获得设备列表,但我似乎无法找到将消息与设备关联的方法 有人知道吗? 提前谢谢 关于当消息到达IoT集线器时,集线器会向消息添加许多系统属性,包括发送消息的设备的deviceid-有关消息属性的更多信息,请参阅 如果使用C读取消息,请参阅此类的ConnectionDeviceId属性:查看文档以了解有关消息格式的更多详细信息。 设备id是物联网中心消息系统属性(如ConnectionDeviceId)的一部

我正在寻找一种方法来查看哪台设备在Azure中发送了哪条消息。 通过IoT hub,我们可以获得设备列表,但我似乎无法找到将消息与设备关联的方法

有人知道吗? 提前谢谢


关于

当消息到达IoT集线器时,集线器会向消息添加许多系统属性,包括发送消息的设备的deviceid-有关消息属性的更多信息,请参阅

如果使用C读取消息,请参阅此类的ConnectionDeviceId属性:

查看文档以了解有关消息格式的更多详细信息。 设备id是物联网中心消息系统属性(如ConnectionDeviceId)的一部分

以下示例显示ASA作业的查询。您可以看到如何通过流管道从遥测消息中获取设备id:

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。来自stream pipeline events端点的遥测消息序列化到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}");

     // ...
  }
您可以尝试扩展VS代码以监视发送到Azure IoT Hub的所有消息。您可以看到哪个设备向Azure IoT Hub发送了什么消息


有关如何使用此扩展来监视消息的更多详细信息,您也可以参考此文档。

嘿,roman,您查询的iot集合是什么?文档似乎只提到了设备和devices.jobs集合@sakthig上述查询是针对Azure Stream Analytics ASA作业的,请参阅更多详细信息: