0

我有一个由 IOThub 触发的 Azure 函数。所以在 Azure 函数中,我有

public static async Task Run(EventData myIoTHubMessage1, TraceWriter log)

如何从事件数据中获取设备 ID。

我试过了

log.Info("devid="+myIoTHubMessage1.SystemProperties["ConnectionDeviceId"]);

它给出了一个错误说

The given key was not present in the dictionary.

以下文件说 https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct

ConnectionDeviceId 包含 deviceId。有人知道如何从 EventData 中检索设备 ID,还是应该使用其他类。

4

2 回答 2

4

您可以从以下位置获取设备 ID SystemProperties

public static async Task Run(EventData myIoTHubMessage1, TraceWriter log)
{
    var deviceId = myIoTHubMessage1.SystemProperties["iothub-connection-device-id"];
    // ....
}
于 2018-02-23T18:49:48.557 回答
0
for (EventData receivedEvent : receivedEvents) {
       String deviceId = (String) receivedEvent.getProperties().get("deviceId");
       log.info("From:" + deviceId);
    }
于 2018-05-21T11:43:59.023 回答