使用 Iot hub 边缘模块客户端获取设备孪生属性

Use Iot hub edge module client to get device twin properties

我正在尝试在 IoT Edge 模块中获取 设备孪生属性,虽然我已经连接到模块客户端(又名 IoTHubModuleClient),但我'我们在 documentation 中找到了一个名为 get_twin() 的方法,它表示我们可以获取设备或模块孪生属性。但是,我得到的是“空”属性,结果如下:

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

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

代码非常基础:

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

这是正确的 Mehdi,当您使用 IoTHubModuleClient 的 get_twin 方法时,您将获得模块孪生属性,您可以 add/modify/delete 独立于设备孪生属性的模块孪生属性。

请看this article