You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从IoT Hub的Device Twin中获取tags字段

问题根因

你调用的get_device()接口仅用于获取设备的基础身份元数据,本身就不包含设备孪生(Device Twin)的tags、properties等业务字段,属于接口用途错配。

解决方法

直接使用IoTHubRegistryManager提供的get_twin()接口即可获取完整的设备孪生数据,实现代码如下:

from azure.iot.hub import IoTHubRegistryManager
import json

# 替换为你的实际配置
IOTHUB_CONNECTION_STRING = "你的IoT Hub服务端连接字符串"
TARGET_DEVICE_ID = "目标设备的ID"

if __name__ == "__main__":
    # 初始化RegistryManager实例
    registry_manager = IoTHubRegistryManager(IOTHUB_CONNECTION_STRING)
    # 调用设备孪生查询接口
    device_twin = registry_manager.get_twin(TARGET_DEVICE_ID)
    
    # 直接获取tags字段
    tags = device_twin.tags
    # 如需转为字典/JSON字符串可以用下面的代码
    tags_dict = vars(tags)
    tags_json = json.dumps(tags_dict, indent=2)
    print(tags_json)

注意事项

  • 你使用的IoT Hub连接字符串需要具备registryRead权限,使用默认的iothubowner权限的连接字符串即可满足要求。
  • 如果设备未设置任何tags,返回的tags属性会为空,属于正常情况。

内容的提问来源于stack exchange,提问作者Monika Restecka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:15:04