你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

管理 Azure Device Update for IoT Hub 的设备组

Azure Device Update for IoT Hub 允许将更新部署到用户定义的 IoT 设备组。 每个 Device Update 托管设备都是设备组的成员,但定义设备组是可选的。 也可以部署到 Device Update 提供的默认设备组。

如果创建用户定义的 Device Update 标记值并将其分配给设备,则 Device Update 会根据分配的标记和设备兼容性属性自动创建组。 对于每个设备组,Device Update 可以创建具有不同设备类的多个子组。 Device Update 会将没有标记的设备置于 default 设备组中。

本文介绍如何使用 Azure 门户或 Azure CLI 创建和管理用户定义的 Device Update 设备标记和组。 若要将更新部署到用户定义的或默认设备组,请参阅部署设备更新

先决条件

将标记添加到设备

若要分配 Device Update 设备组,请将 ADUGroup 标记添加到 IoT 中心内 Device Update 连接的设备的目标集。 如果在 Device Update 代理中预配了设备标识,请将标记添加到设备孪生;如果在 Device Update 代理中预配了模块标识,请将标记添加到相应的模块孪生。

Device Update ADUGroup 标记使用键值格式,如以下设备或模块孪生示例所示:

"etag": "",
"deviceId": "",
"deviceEtag": "",
"version": <version>,
"tags": {
   "ADUGroup": "<CustomTagValue>"
}

有关孪生 JSON 语法的详细信息和示例,请参阅了解和使用设备孪生了解和使用模块孪生

ADUGroup 标记具有以下属性和限制:

  • 设备只能有一个 ADUGroup 标记,一次只能属于一个 Device Update 组。 添加名为 ADUGroup 的另一个标记将替代现有 ADUGroup 值。
  • 可以将任何值用于标记,但保留值 Uncategorized$default 除外。
  • 标记值不能超过 200 个字符。
  • 标记值可以包含字母数字字符和以下特殊字符:. - _ ~
  • ADUGroup 标记名称和组名值区分大小写。

以下部分介绍了添加和更新标记的几种方法。

使用 SDK 添加标记

在 Device Update 中注册设备后,可以使用 RegistryManager 通过相应的标记更新设备或模块孪生。 有关详细信息,请参阅以下文章:

使用作业添加标记

可以计划作业,以在多台设备上添加或更新 Device Update 标记。 有关作业操作的示例,请参阅在多个设备上计划作业。 可以使用作业更新设备孪生或模块孪生,具体取决于在 Device Update 代理中预配的是设备标识还是模块标识。 有关详细信息,请参阅计划和广播作业

注意

此操作计入 IoT 中心消息配额。 如果一次更改 50,000 个以上的设备或模块孪生标记,则可能会超过每日 IoT 中心消息配额,需要购买更多 IoT 中心单元。 有关详细信息,请参阅配额和限制

通过更新孪生来添加标记

还可以直接在设备或模块孪生中添加或更新 ADUGroup 标记。

  1. Azure 门户中导航到 IoT 中心。

  2. 在左侧导航窗格中的“设备管理”下选择“设备”。 如果有 IoT Edge 设备,请改为选择“IoT Edge”。

  3. 在“设备”页上,选择你的设备。

  4. 在设备页上,从顶部菜单中选择“设备孪生”,或在“模块标识”下选择模块标识,然后选择模块孪生。

  5. 在孪生体中,添加具有用户定义的值的 ADUGroup 标记,如下所示。 若要更新现有 ADUGroup 标记值,请使用不同用户定义的值覆盖它。

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    
  6. 选择“保存”。

查看设备组

  1. Azure 门户中,导航到连接到 Device Update 实例的 IoT 中心。

  2. 选择左侧导航栏中“设备管理”下的“更新”选项。

  3. 选择“组和部署”选项卡。

    未分组设备的屏幕截图。

创建组后,符合性图表和组列表会更新。 Device Update 合规性图表显示了处于各种合规性状态的设备的计数:“最新的更新”、“可用的新更新”和“正在进行的更新”。 有关详细信息,请参阅 Device Update 合规性

现有 Device Update 组和这些组中设备的任何可用更新都显示在组列表中。 不满足组的设备类要求的任何设备将会显示在相应的无效组中。 可以通过选择组旁边的“部署”,从此视图将最佳可用更新部署到组。

更新合规性视图的屏幕截图。

查看组的设备详细信息

  1. 在“组和部署”选项卡中,选择组的名称。

    组详细信息”页显示更新符合性图表,其中包含处于各种符合性状态的组成员设备的计数,以及组成员设备列表及其设备更新属性。

    设备组详细信息视图的屏幕截图。

  2. 选择组中的单个设备,转到 IoT 中心中的其设备详细信息页。

    设备详细信息视图的屏幕截图。

    IoT 中心内的设备详细信息视图的屏幕截图。

从设备组中移除设备

若要从设备组中移除设备,请将 ADUGroup 标记值更改为孪生体中的 null,然后选择“保存”。

    "tags": {
            "ADUGroup": "null"
            }

此操作将从设备孪生中删除组标记,并从设备组中移除设备。

删除设备组

Device Update 会自动创建设备组,并保留设备组、设备类以及历史记录或其他用户需求的部署,而不是自动清理它们。 可以通过 Azure 门户逐个选择和删除组,或通过对组调用 az iot du device group delete Azure CLI 命令来删除设备组。

若要删除组,必须确保组满足以下要求:

  • 不能是 default 组。
  • 必须没有成员设备。 也就是说,在 Device Update 实例中预配的设备不能具有其值与组名称匹配的 ADUGroup 标记。
  • 不得具有关联的活动部署或已取消的部署。

注意

如果无法删除满足上述要求的组,请检查是否有任何运行不正常的设备标记为组的一部分。 运行不正常的设备无法接收部署,因此它们不会直接显示在组中的成员设备列表中。

若要检查是否有任何运行不正常的设备,请执行以下操作:

  1. 在 Azure 门户中导航到 IoT 中心。
  2. 从左侧导航中选择“更新”,然后选择“诊断”选项卡。
  3. 展开“查找缺失设备”部分。

如果已将运行不正常的设备标记为组的一部分,则必须更改标记值或删除设备,然后才能删除组。

如果设备再次分配到已删除的组名,则 Device Update 会自动重新创建该组,但没有关联的设备或部署历史记录。