你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure IoT Central 应用程序中批量管理设备
可以使用 Azure IoT Central 并通过作业大规模地管理连接的设备。 通过这些作业可以批量更新设备和云属性,以及运行命令。 本文介绍如何在自己的应用程序中使用作业以及如何使用导入和导出功能。
若要了解如何使用 IoT Central REST API 管理作业,请参阅如何使用 IoT Central REST API 管理设备。
提示
创建定期作业时,请使用 Microsoft 帐户或 Microsoft Entra 帐户登录到应用程序。 如果使用 Microsoft Entra 组登录,则 Microsoft 与该组关联的 Entra 令牌可能会在将来的某个时间点过期,并导致作业失败。
创建并运行作业
下面的示例演示如何创建和运行作业,以便为一组设备设置光阈值。 使用作业向导创建和运行作业。 可保存作业以便稍后运行:
在左侧窗格中选择“作业”。
选择“+ 新建” 。
在“配置作业”页面上,输入名称和描述以标识要创建的作业。
如果应用程序使用组织,请选择要与作业关联的组织。 只有组织中的用户可以查看或修改作业。 用户的角色决定了用户拥有的权限。
选择要将作业应用到的设备组。 如果你的应用程序使用组织,则所选组织将确定可用的设备组。 可在“设备组”选项下查看作业配置适用于的设备数。
选择“云属性”、“属性”、“命令”、“更改设备模板”或“更改边缘部署清单”作为“作业类型”。 要配置:
- “属性”作业,请选择属性并设置其新值。 属性作业可以设置多个属性。
- “命令”作业,请选择要运行的命令。
- “更改设备模板”作业,请选择要分配给设备组中的设备的设备模板。
- “更改边缘部署清单”作业,请选择要分配给设备组中的 IoT Edge 设备的 IoT Edge 部署清单。
选择“保存”并退出,将作业添加到“作业”页面上的已保存作业的列表中。 稍后可以从已保存作业列表返回到作业。
选择“下一步”转到“递送选项”页。 在“递送选项”页面,用户可为此作业设置“批处理”和“取消阈值”递送选项:
通过批处理可将大量设备的作业错开。 作业分为多个批处理,每个批处理包含设备的一个子集。 将批处理排队并按顺序运行。
如果错误数超出设置的限制,则通过取消阈值可自动取消作业。 阈值可应用于作业中的所有设备,或应用于单个批处理。
选择“下一步”转到“计划”页面。 在“计划”页面,用户可以启用日后运行作业的计划。
为计划选择运行频率选项。 你可以将作业设置为按以下频率运行:
- 一次性
- 每日
- 每周
为已计划的作业设置开始日期和时间。 日期和时间是根据用户所在时区设置,而不是设备的本地时间。
如要结束运行频率计划,请选择:
- “当天”,设置计划的结束日期。
- “之后”,设置运行作业的次数。
已计划的作业始终在设备组中的设备上运行,即使设备组成员身份随时间推移而发生变化也不受影响。
选择“下一步”转到“查看”页。 “查看”页将显示作业配置的详细信息。 选择“计划”,为作业安排运行计划:
“作业详细信息”页面显示有关已计划的作业的信息。 当执行已计划的作业时,将看到作业实例的列表。 已计划的作业执行也位于“过去 30 天历史记录”作业列表中。
在此页上,可以为作业“取消计划”或“编辑”已计划的作业。 可以从已计划的作业列表返回到已计划的作业。
在作业向导中,可以选择不计划作业并立即运行该作业。
作业将经过“挂起”、“正在运行”和“已完成”阶段。 作业执行详细信息包含结果指标、持续时间详细信息和设备列表网格。
作业完成后,可以选择“结果日志”下载作业详细信息的 CSV 文件,包括设备及其状态值。 这些信息可用于故障排除:
作业现在显示在“作业”页上的“过去 30 天历史记录”列表中。 此页显示当前正在运行的作业,以及以前运行的或保存的作业的历史记录。
注意
用户可以查看以前运行的作业 30 天内的历史记录。
管理作业
如要停止运行作业,打开该作业并选择“停止”。 作业状态将更改,表示作业已停止。 “摘要”部分显示已完成、失败或仍处于挂起状态的设备。
当作业处于停止状态时,可以选择“继续”以继续运行作业。 作业状态将更改,表示作业重新运行。 “概述”部分继续更新以获得最新进度信息。
复制作业
如要复制现有的作业,请选择已执行的作业。 在“作业结果”页或“作业详细信息”页上选择“复制”。 此时会打开一个作业配置副本供用户编辑,并且“副本”将附加到作业名称中。
查看作业状态
创建作业后,“状态”列将会更新,包含作业的最新状态消息。 下表列出了可能的“设备状态”值:
状态消息 | 状态的含义 |
---|---|
已完成 | 此作业在所有设备上运行。 |
已失败 | 此作业已失败,没有在设备上完全运行。 |
挂起的 | 此作业尚未开始在设备上运行。 |
正在运行 | 此作业当前正在设备上运行。 |
已停止 | 用户已手动停止此作业。 |
已取消 | 此作业已取消,因为超出了“递送选项”页面上设置的阈值。 |
状态消息后面是作业中设备的概述。 下表列出了可能的设备状态值:
状态消息 | 状态的含义 |
---|---|
已成功 | 已成功执行该作业的设备数。 |
已失败 | 作业运行失败的设备数。 |
如要查看作业的状态和所有受影响设备,请打开该作业。 每个设备名称的旁边显示了以下状态消息之一:
状态消息 | 状态的含义 |
---|---|
已完成 | 此设备上运行的作业。 |
已失败 | 此设备上运行失败的作业。 错误消息中显示了更多信息。 |
挂起的 | 作业尚未在此设备上运行。 |
如要下载包含作业详细信息和设备列表及其状态值的 CSV 文件,请选择“结果日志”。
筛选设备列表
可通过选择“筛选器”图标来筛选“作业详细信息”页上的设备列表。 可在“设备 ID”或“状态”字段上进行筛选:
自定义设备列表中的列
可以通过选择“列选项”图标,将列添加到设备列表:
使用“列选项”对话框可以选择设备列表列。 选择要显示的列,选择向右箭头,然后选择“确定”。 如要选择所有可用列,请选择“全选”。 所选的列将在设备列表中显示。
选定的列会在一个用户会话中或在可以访问应用程序的用户会话中持续存在。
重新运行作业
可重新运行具有运行失败设备的作业。 选择“在运行失败的设备上重新运行作业”。
输入“作业名称”和“说明”,然后选择“重新运行作业”。 提交新作业,以重试对运行失败的设备的操作。
注意
用户不能从 Azure IoT Central 应用程序同时运行五个以上的作业。
当作业完成并且删除作业设备列表中的设备时,设备名称中的设备条目将显示为“已删除”。 “详细信息”链接对已删除的设备不可用。
导入设备
若要将大量设备注册到应用程序,可从 CSV 文件批量导入设备。 你可以在 Azure 示例存储库中找到示例 CSV 文件。 该 CSV 文件应包含以下列标头:
列 | 说明 |
---|---|
IOTC_DEVICEID | 设备 ID 是此设备用于连接的唯一标识符。 设备 ID 中可以包含字母、数字和 - 字符(不包含空格)。 最大长度为 128 个字符。 |
IOTC_DEVICENAME | 可选。 设备名是将在整个应用程序中显示的易记名称。 如果未指定,则设备名称与设备 ID 相同。 最大长度为 148 个字符。 |
若要在应用程序中批量注册设备:
在左侧窗格中选择“设备”。
在左面板中,选择要为其批量创建设备的设备模板。
注意
如果还没有设备模板,可以在“所有设备”下导入设备,并在没有模板的情况下注册这些设备。 导入设备后,可将其关联到某个模板。
选择“导入”。
选择要将设备分配到其中的组织。 要导入的所有设备都将分配给同一个组织。 若要将设备分配给不同的组织,请创建多个导入文件,每个组织一个文件。 或者,将它们全部上传到根组织,然后在 UI 中将它们重新分配给正确的组织。
选择包含要导入的设备 ID 列表的 CSV 文件。
文件上传后,将会开始设备导入。 可以在“设备操作”面板中跟踪导入状态。 导入开始后,此面板会自动显示;也可以通过右上角的钟形图标访问此面板。
导入完成后,“设备操作”面板中会显示成功消息。
如果设备导入操作失败,“设备操作”面板中会显示错误消息。 系统会生成一个捕获所有错误的可下载的日志文件。
如果设备使用 SAS 令牌进行身份验证,请从 IoT Central 应用程序导出 CSV 文件。 导出的 CSV 文件包括设备 ID 和 SAS 密钥。
如果设备使用 X.509 证书进行身份验证,请使用 X.509 注册组中的根证书或中间证书,为设备生成 X.509 叶证书。 使用导入的设备 ID 作为叶证书中的 CNAME
值。
导出设备
若要将真实设备连接到 IoT Central,需要其连接字符串。 可以批量导出设备详细信息,以获取创建设备连接字符串所需的信息。 导出过程会为所有选定的设备创建一个 CSV 文件,其中包含设备标识、设备名称和密钥。
从应用程序中批量导出设备:
在左侧窗格中选择“设备”。
在左侧面板中,选择要从中导出设备的设备模板。
选择要导出的设备,然后选择“导出”操作。
导出过程开始。 可以使用“设备操作”面板跟踪状态。
导出完成后,将显示一条成功消息,并提供一个用来下载生成文件的链接。
选择“下载文件”链接将文件下载到磁盘上的本地文件夹。
导出的 CSV 文件包含以下列:设备 ID、设备名称、设备密钥和 X509 证书指纹:
- IOTC_DEVICEID
- IOTC_DEVICENAME
- IOTC_SASKEY_PRIMARY
- IOTC_SASKEY_SECONDARY
- IOTC_X509THUMBPRINT_PRIMARY
- IOTC_X509THUMBPRINT_SECONDARY
有关将真实设备连接到 IoT Central 应用程序的详细信息,请参阅设备连接方式。
后续步骤
现在,你了解了如何在 Azure IoT Central 应用程序中批量管理设备,建议接下来了解如何编辑设备模板。