azure - 如何在Azure函数中获取由IOThub消息触发的消息的deviceid

标签 azure azure-functions azure-iot-hub azure-iot-sdk

我有一个由 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://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct

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

最佳答案

您可以从SystemProperties获取设备ID:

public static async Task Run(EventData myIoTHubMessage1, TraceWriter log)
{
    var deviceId = myIoTHubMessage1.SystemProperties["iothub-connection-device-id"];
    // ....
}

关于azure - 如何在Azure函数中获取由IOThub消息触发的消息的deviceid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954173/

相关文章:

Azure Function 详细记录内部服务器错误

sql - azure web应用程序和azure sql数据库之间的高延迟

sql - 将 ASP.NET Core 应用程序发布到 Azure 不起作用

.net - 从函数应用服务的代码中加载证书

azure - IoT 中心和设备配置服务

Azure IoT 中心 MQTT 用户名和密码字符长度限制

c# - 在 IoT 中心上查询以使用属性列表查找设备

c# - Azure AD B2C 错误 - IDX10501 : Signature validation failed

t-sql - Azure 函数 SendGrid

.net - 为什么我的 Azure Functions 项目无法识别 Microsoft.AspNetCore.Http 程序集中的类?