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

标签 azure azure-iot-hub azure-iot-edge

我正在尝试在 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 方法时,您将获取模块孪生属性,您可以独立于设备孪生属性添加/修改/删除模块孪生属性。

请查看this article

关于azure - 使用 IoT hub 边缘模块客户端获取设备孪生属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68648478/

相关文章:

azure - 使用 Azure CLI 从变量创建 Azure Key Vault secret ,并在值中删除插入符号 ^ 字符

azure - 代表 Azure IoT 中心上的其他设备

docker - 我可以在 Microsoft IoT Edge 中运行任何 docker 容器吗?

mysql - 如果我的应用程序未启用 SSL,为什么与 Azure 中的 MySQL 服务器的连接会失败?

mysql - 我可以通过 Azure 自动化中的 Runbook 将所有 Azure Active Directory 用户导出到 MySQL 数据库吗?

azure - 无需使用 RDP 或任何其他第三方应用程序即可访问 Azure VM

azure - 无法升级 Azure IoT 中心

azure - 使用 TCP 协议(protocol)与 ESP8266 无操作系统设备连接到 Azure IOT 集线器

azure - 存储数据 Azure 物联网中心

Ubuntu 20.04 上的 Azure IoT Edge 安装中缺少 Azure IoT 中心