azure - 使用 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}')
解决方案
这是正确的 Mehdi,当您使用 IoTHubModuleClient 的 get_twin 方法时,您将获得模块孪生属性,您可以独立于设备孪生属性添加/修改/删除模块孪生属性。
请看一下这篇文章
推荐阅读
- python - 如何使用 odoo-xml-rpc 一次在 ODOO 中创建多个值?
- java - 图像在移动时有奇怪的行为?
- java - 从另一个包访问类
- python - 为什么 print("aA".count("")) 打印值 3?
- git - 如何找到 Git repo 的版本
- swift - 从 uiimagepicker 选择时出现剪切问题
- javascript - 如果按钮只有使用 Javascript 的值和名称属性,我如何单击它
- android - OneSignal - 帮我在现有的 webView 中打开 URL ...我很困惑
- php - 仅使用 URL 登录后重定向到上一页
- scala - 如何在 Scala 中使用 Phantom-dsl 从 Apache Cassandra 同步检索数据?