首页 > 解决方案 > 使用 IoT hub 边缘模块客户端获取设备孪生属性

问题描述

我正在尝试在 IoT Edge 模块中获取设备孪生属性,虽然我已经与模块客户端(又名IoTHubModuleClient)连接,但我发现文档get_twin()中调用了一个方法,该方法说我们可以获取设备或模块孪生属性。但是,我得到“空”属性,结果如下:

{'desired': {'$version': 1}, 'reported': {'$version': 1}}

这不是我在设备孪生部分的天蓝色门户中配置的。但是使用IotHubDeviceClient设备连接字符串(这就是我不想使用该客户端的原因),我能够获得正确的设备孪生属性。

代码非常基本:

    client = IoTHubModuleClient.create_from_edge_environment()
    twin_properties = await client.get_twin()
    logger.debug(f'Twin properties: {twin_properties}')

标签: azureazure-iot-hubazure-iot-edge

解决方案


这是正确的 Mehdi,当您使用 IoTHubModuleClient 的 get_twin 方法时,您将获得模块孪生属性,您可以独立于设备孪生属性添加/修改/删除模块孪生属性。

请看一下这篇文章


推荐阅读