你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
使用 Azure Device Update for IoT Hub 部署更新
本文内容
本文介绍如何在 Azure 门户或 Azure CLI 中使用 Azure Device Update for IoT Hub 将更新部署到 IoT 设备。
先决条件
部署更新
本部分介绍如何使用 Azure 门户或 Azure CLI 部署更新。
在 Azure 门户 中导航到 IoT 中心。
在左侧导航中的“设备管理 ”下选择“更新 ”。
在“更新” 页上,选择“组和部署”选项卡,并查看“更新符合性图表”和“设备组列表”。 可能需要刷新视图才能查看可用于设备组的最近导入的更新。
在组列表中的“状态” 下,选择“一个或多个新更新可用于此组”旁的“部署” 。
查看更新合规性图表和组列表。 应该能查看基于标签的组或默认组可用的更新。 可能需要刷新一次。 有关详细信息,请参阅 Device Update 合规性 。
选择“一个或多个新更新可用”状态旁的“部署”。
从右侧列表中,选择所需更新以进行部署。
计划你的部署,以便立即开始部署或在将来开始部署。
提示
默认情况下,开始日期和时间距当前时间 24 小时。 如果希望更快或更晚开始部署,请务必选择其他日期和时间。
根据需要创建自动回滚策略。 然后选择“创建”。
在“当前更新 ”选项卡中,可以查看部署的状态。
在“组基础知识” 视图中,符合性图表显示更新正在进行中。
设备成功更新后,符合性图表和部署详细信息会更新以体现该状态。
可以使用 Azure Cloud Shell 中的 Bash 环境来运行以下命令。 选择“启动 Cloud Shell”以打开 Cloud Shell,或选择 Azure 门户顶部工具栏中的 Cloud Shell 图标 。
或者,如果你愿意,可以在本地运行 Azure CLI 命令:
安装 Azure CLI 。 运行 az version 以查看已安装的 Azure CLI 版本和依赖库,并运行 az upgrade 以安装最新版本。
通过运行 az login 登录到 Azure。
在首次使用出现提示时安装 azure-iot
扩展。 为了确保使用最新版本的扩展,请运行 az extension update --name azure-iot
。
提示
本文中的 Azure CLI 命令使用反斜杠 \ 字符进行续行,以便更轻松地读取命令参数。 此语法适用于 Bash 环境。 如果在 PowerShell 中运行这些命令,请将每个反斜杠替换为反引号 `,或将其完全删除。
验证更新可用性
使用 az iot du device group list
命令标识设备组。
az iot du device group list \
--account <Device Update account name> \
--instance <Device Update instance name>\
然后使用 az iot du device group show
显示组的最佳可用更新。 命令使用以下自变量:
--account
:设备更新帐户名称。
--instance
:Device Update 实例名称。
--group-id
:你针对此部署的设备组 ID,即 ADUGroup
标记的值,或无标记设备的 $default
。
--resource-group
:设备更新帐户资源组名称。
--best-updates
:返回设备组的最佳可用更新,包括需要其中的每个更新的设备数量。
--update-compliance
:返回设备组更新符合性信息,例如最新更新中的设备数、需要新更新的设备数,以及当前接收新更新的设备数。
若要验证组的最佳可用更新,请运行以下命令,如下所示:
az iot du device group show \
--account <Device Update account name> \
--instance <Device Update instance name>\
--group-id <device group ID>\
--best-updates
创建部署
使用 az iot du device deployment create
为设备组创建部署。 命令使用以下自变量:
--account
:设备更新帐户名称。
--instance
:Device Update 实例名称。
--group-id
:你针对此部署的设备组 ID,即 ADUGroup
标记的值,或无标记设备的 $default
。
--deployment-id
:用于标识此部署的 ID。
--update-name
、--update-provider
和 --update-version
:定义 updateId
对象的参数,此部署中更新的唯一标识符。
如下所示运行 命令:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version>
使用可选参数
可选参数让你可以进一步配置部署。 有关可选参数的完整列表,请参阅可选参数 。
若要创建自动回滚策略,请添加以下参数:
--failed-count
:部署中将触发回滚的失败设备数。
--failed-percentage
:部署中将触发回滚的失败设备的百分比。
--rollback-update-name
,--rollback-update-provider
,--rollback-update-version
:启动回滚时要使用的更新的参数。
如下所示运行 命令:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--failed-count 10 \
--failed-percentage 5 \
--rollback-update-name <rollback update name> \
--rollback-update-provider <rollback update provider> \
--rollback-update-version <rollback update version>
若要设置部署开始时间,请使用 --start-time
参数提供部署的目标日期和时间,如下所示:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id> \
--deployment-id <deployment id> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--start-time "2022-12-20T01:00:00"
监视部署状态
在“更新 ”页的“组和部署” 选项卡上,选择部署到的组。
在“组详细信息” 页上,转到“当前部署” 或“部署历史记录 ”选项卡,确认部署正在进行。
选择部署旁边的“详细信息” 以查看部署详细信息、更新详细信息和目标设备类详细信息。 可以选择为设备类添加易记名称。
选择“刷新”以查看最新状态详细信息。
转到“组详细信息” 页的“组基础知识” 选项卡,搜索特定设备的状态,或筛选以查看部署失败的设备。
使用 az iot du 设备部署列表 查看设备组的所有部署。
az iot du device deployment list \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id>
使用 az iot du device deployment show 查看特定部署的详细信息。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID>
添加 --status
标志以返回有关部署中正在进行、已完成或失败的设备数量的信息。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--status
重试更新部署
如果部署失败,可对失败的设备重试部署。
转到“组详细信息”屏幕上的“当前部署”选项卡。
选择“重试失败的设备”并对确认通知进行确认。
使用 az iot du device deployment retry 重试设备的目标子组的部署。
此命令采用 --class-id
参数,该参数由 Device Update 代理报告的模型 ID 和兼容性属性生成。
az iot du device deployment retry \
--account <Device Update account name> \
--instance <Device Update instance name> \
--deployment-id <deployment ID> \
--group-id <device group ID> \
--class-id <device class ID>
相关内容