你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何在 Azure IoT 中心内使用设备孪生标记来管理设备
本文介绍如何使用设备孪生标记通过标记来管理 IoT 设备
设备孪生标记是有助于整理设备的强大工具。 其作用在 IoT 解决方案中有多种类型的设备时尤为重要,可以使用标记来设置类型、位置等。例如:
{
"deviceId": "mydevice1",
"status": "enabled",
"connectionState": "Connected",
"cloudToDeviceMessageCount": 0,
"authenticationType": "sas",
"tags": {
"deploymentLocation": {
"building": "43",
"floor": "1"
},
"deviceType":"HDCamera"
},
"properties": {
...
}
}
先决条件
使用 Azure 门户添加和查看设备孪生标记
此部分介绍如何使用 Azure 门户创建 IoT 中心。
登录到 Azure 门户并转到 IoT 中心。
选择左侧导航栏中的“设备”选项卡。
选择所需设备,然后选择“分配标记”。
在打开的视图中可以看到该设备已有的标记。 若要添加新的基本标记,请提供标记的名称和值。 可在标记和属性格式中查看名称/值对的格式。 选择“保存”以保存标记。
保存后,可以通过再次选择“分配标记”查看已添加的标记。
添加及查看嵌套标记
- 按照以上示例,可以通过选择“分配标记”中的“高级”选项卡来添加嵌套标记,并添加包含两个值的嵌套 json 对象。
{ "deploymentLocation": { "building": "43", "floor": "1" } }
- 选择“保存”
- 再次选择设备,并选择“分配标记”以查看新添加的标记
使用设备孪生标记筛选设备
设备孪生标记能很好地按类型、位置等信息对设备进行分组,并且你可以通过筛选设备标记来管理自己的设备。
- 选择“+ 添加筛选器”,然后选择“设备标记”作为筛选器类型
- 输入所需的标记名称和值,选择“应用”以检索符合条件的设备列表
使用 Azure 门户更新和删除多个设备的设备孪生标记
- 选择两个或更多设备,然后选择“分配标记”。
- 可在打开的面板中更新现有标记:在“名称”字段中键入目标标记名称,并在“值”字段中键入新字符串。
- 若要删除多个设备的标记,请在“名称”字段中键入目标标记名称,然后选择“删除标记”按钮。
- 选择“保存”,即可从设备中删除名称匹配的标记。
使用 Azure CLI 管理设备孪生标记
以下部分介绍使用 Azure CLI 进行标记的几个示例。 有关设备孪生 CLI 的完整参考信息
在命令提示符中,运行 login 命令:
az login
按照说明使用代码进行身份验证,并通过 Web 浏览器登录 Azure 帐户。
如果有多个 Azure 订阅,登录 Azure 可获得与凭据关联的所有 Azure 帐户的访问权限。 请使用 az account list 查看帐户的完整列表:
az account list
使用以下命令,选择想要用于运行命令以创建 IoT 中心的订阅。 可使用上一命令输出中的订阅名称或 ID:
az account set --subscription {your subscription name or id}
以下命令启用文件通知,将文件通知属性设置为默认值。 (文件上传通知的生存时间设为一小时,锁定持续时间设为 60 秒。)
az iot hub device-twin update -n {iothub_name} \ -d {device_id} --tags '{"country": "USA"}'
通过导入 json 文件或直接将 json 添加到输入来添加复杂的嵌套标记:
az iot hub device-twin update --name {your iot hub name} \ -d {device_id} --tags /path/to/file
az iot hub device-twin update --name {your iot hub name} \ -d {device_id} --tags '{"country":{"county":"king"}}'
对现有标记使用命令以更新其值:
az iot hub device-twin update --name {your iot hub name} \ -d {device_id} --tags '{"country": "Germany"}'
以下命令通过将该值设置为 null 来移除已添加的标记。
az iot hub device-twin update --name {your iot hub name} \ -d {device_id} --tags '{"country": null}'
注意
如果使用 Powershell、CloudShell 或 Powershell 模式,需要添加正斜杠“\”来转义所有双引号。 示例:--tags '{\"country\":\"US\"}'
使用 Azure CLI 创建作业来设置标记
有关 IoT 中心作业 CLI 的完整参考信息
后续步骤
了解设备孪生后,可以根据兴趣参阅以下 IoT 中心开发人员指南主题:
要尝试本文中介绍的一些概念,请参阅以下 IoT 中心教程: