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

在 Device Update for IoT Hub 中管理设备组

IoT 中心设备更新允许将更新部署到一组 IoT 设备。 将更新部署到受管理设备时,此步骤是可选的。 可以使用系统为你创建的默认组将更新部署到设备。 或者,可为设备分配用户定义的标记,然后设备将根据该标记和设备兼容性属性自动分组。

注意

如果你要部署到默认组而不是用户创建的组,请转到如何部署更新

先决条件

支持的浏览器:

将标记添加到设备

若要创建设备组,第一步是将标记添加到 IoT 中心内的目标设备集。 只有将标记连接到设备更新后,才能将其成功添加到设备。

设备更新标记使用以下示例中的格式:

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

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

以下部分将介绍添加和更新标记的不同方法。

使用 SDK 添加标记

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

如果在 Device Update 代理中预配了设备标识,请将标记添加到设备孪生;如果在 Device Update 代理中预配了模块标识,请将标记添加到相应的模块孪生。

使用作业添加标记

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

有关详细信息,请参阅计划和广播作业

注意

此操作将计入 IoT 中心消息配额。 我们建议每次最多更改 50,000 个设备孪生或模块孪生标记,否则在超过每日 IoT 中心消息配额的情况下,你可能需要购买更多的 IoT 中心单元。 有关详细信息,请参阅配额和限制

通过更新孪生来添加标记

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

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

  2. 在左侧导航窗格中的“设备”或“IoT Edge”中,找到你的 IoT 设备。 根据 Device Update 代理中预配的是设备标识还是模块标识,导航到设备孪生或 Device Update 模块,然后导航到其模块孪生。

  3. 在孪生详细信息中,通过将任何现有 Device Update 标记值设置为 null 来删除该标记。

  4. 按如下所示添加新的 Device Update 标记值。

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

限制

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

查看设备组

组是根据分配的标记以及设备的兼容性属性自动创建的。 一个组可以有多个使用不同设备类的子组。

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

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

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

    Screenshot of ungrouped devices.

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

    Screenshot of update compliance view.

  5. 在组列表中,应会看到现有的组,以及这些组中的设备可用的任何更新。 如果设备不满足组的设备类要求,它们将显示在相应的无效组中。 在此视图中,可以通过选择组旁边的“部署”按钮将最合适的更新部署到该组。

查看组的设备详细信息

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

  2. 在组详细信息页上,可以看到属于该组的设备的列表及其设备更新属性。 在此视图中,还可以查看作为组成员的所有设备的更新符合性信息。 合规性图表显示了处于各种合规性状态的设备计数。

    Screenshot of device group details view.

  3. 你还可以选择组中的单个设备重定向到 IoT 中心中的设备详细信息页。

    Screenshot of device details view.

    Screenshot of device details view in IoT hub.

从设备组中移除设备

若要从设备组中移除设备,必须将 ADUGroup 标记值更改为“null”。

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

这会从设备孪生中移除 ADUGroup 标记,并从其设备组中移除设备。

删除设备组

自动创建设备组时,不会自动清理组、设备类和部署,这样是为了保留它们作为历史记录或满足其他用户需求。 删除设备组可以通过以下两种方式实现:在 Azure 门户中单独选择并删除所需组,或者对组调用 DELETE API。 了解详细信息

如果在删除组后再次连接此组的设备,则自动重新创建组时,将没有关联的设备或部署历史记录。

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

  • 组不得有成员设备。 这意味着,在 Device Update 实例中预配的设备不应有其值与所选组的名称匹配的 ADUGroup 标记。
  • 组不得为默认组。
  • 组不得有与之关联的活动状态或已取消状态的部署。

注意

如果在满足上述要求后仍无法删除组,请验证是否有任何标记为组的一部分的运行不正常设备。 运行不正常设备是无法接收部署的设备,因此不会直接显示在组中的成员设备列表中。 可以通过转到 Device Update 门户体验的“诊断”选项卡中的“查找缺失设备”,来验证你是否有任何运行不正常设备。 如果有标记为组的一部分的运行不正常设备,则需要在尝试删除组之前修改标记值或完全删除该设备。

后续步骤