在 IoT 解决方案的生命周期中,设备在 IoT 中心之间频繁移动。 本文旨在协助解决方案操作员配置重新预配策略。
有关更详细的重新预配场景概述,请参阅 IoT 中心设备重新预配概念。
设置重新预配策略
以下步骤为单独注册或注册组配置重新预配策略:
登录到 Azure 门户,并导航到设备预配服务实例。
选择“管理注册”,然后选择“注册组”或“单独注册”选项卡。
选择要为其配置重新预配的注册组或单独注册的名称。
使用“重新预配策略”下的下拉菜单选择以下重新预配策略之一:
永不重新预配设备。
重新预配设备并重置为初始状态:当与注册项关联的设备提交新的预配请求时,此策略将执行操作。 根据注册项配置,设备可能会被重新分配到另一个物联网中心。 如果设备正在更改 IoT 中心,则会删除初始 IoT 中心的设备注册。 向新的 IoT 中心提供预配设备时预配服务实例接收到的初始配置数据。 在迁移期间,设备的状态将报告为 “分配”。
重新预配设备并迁移当前状态:当与注册项关联的设备提交新的预配请求时,此策略将执行操作。 根据注册项配置,设备可能会被重新分配到另一个物联网中心。 如果设备正在更改 IoT 中心,则会删除初始 IoT 中心的设备注册。 来自该初始 IoT 中心的所有设备状态信息都会迁移到新的 IoT 中心。 在迁移期间,设备的状态将报告为 “分配”
选择“保存”,开始根据所做更改进行设备的重新预配。
配置注册分配策略
分配策略确定在重新预配后,如何将与注册相关的设备分配或指派到 IoT 中心。 若要详细了解分配策略,请参阅 如何使用分配策略跨 IoT 中心预配设备。
下面的步骤可配置设备注册项的分配策略:
登录到 Azure 门户,并导航到设备预配服务实例。
选择“管理注册”,然后选择“注册组”或“单独注册”选项卡。
选择要为其配置重新预配的注册组或单独注册的名称。
在“注册详细信息”页上,选择“IoT 中心”选项卡。
选择以下分配策略之一:
静态:此策略规定对于要预配的设备,必须在注册项中列出所需的 IoT 中心。 使用此策略,你可以指定要向其分配设备的单个 IoT 中心。
均匀加权分发:此策略根据在每个 IoT 中心配置的分配权重跨 IoT 中心分发设备。 分配权重较高的 IoT 中心更有可能被分配。 如果只将设备预配到一个 IoT 中心,推荐使用此设置。 此设置是默认设置。
最低延迟:此策略将设备分配到 IoT 中心,这会导致设备和 IoT 中心之间的延迟最低的通信。 此选项允许设备根据位置与最近的 IoT 中心进行通信。
自定义(使用 Azure Function):此策略使用托管在 Azure Functions 中的自定义 Webhook 将设备分配到一个或多个 IoT 中心。 自定义分配策略让你能够更好地控制将设备分配到 IoT 中心的方式。 若要了解详细信息,请参阅 使用 Azure IoT 中心设备预配服务了解自定义分配策略。
在“目标 IoT 中心”下,选择要包含在分配策略中的已链接 IoT 中心。 (可选)使用“添加 IoT 中心的链接”按钮添加新的已链接 IoT 中心。
而通过“静态配置”分配策略,可选择要向其分配设备的 IoT 中心。
使用 均匀加权分发 分配策略时,设备会根据所选的分配权重在 IoT 中心进行哈希处理。
使用 最低延迟 分配策略时,所选的 IoT 中心包含在延迟评估中,以确定用于设备分配的最接近的 IoT 中心。
使用“自定义”分配策略时,请选择要评估的 IoT 中心,以便由自定义分配 Webhook 进行分配。
选择“保存”。
发送来自设备的预配请求
为根据前述部分中所作的配置更改重新预配设备,这些设备必须请求重新预配。
设备提交预配请求的频率由具体方案而定。 设计解决方案并定义重新预配逻辑时,需要考虑一些事项。 例如:
小窍门
建议不要在每次重新启动设备时进行配置,因为此操作可能会触发服务的流量限制,尤其是在同时重新配置数千或数百万台设备时。 应改为尝试使用设备注册状态查询 API,并尝试利用该信息连接到 IoT 中心。 如果这样操作失败,则请尝试重新预配,因为 IoT 中心信息可能已更改。 请记住,查询注册状态会算作新的设备注册,因此应考虑 设备注册限制。 另请考虑实现适当的重试逻辑,例如使用随机化进行指数退避,如 Azure 体系结构中心的 暂时性故障处理 指南中所述。 在某些情况下,根据设备功能,可以在首次使用 DPS 进行预配后直接在设备上保存 IoT 中心信息以直接连接到 IoT 中心。 如果选择直接在设备上保存,请确保在 发生 IoT 中心的特定错误时实现回退机制。 例如,考虑以下情况:
- 如果结果代码为 429(请求过多)或为 5xx 范围内的错误,请重试 IoT 中心操作。 不要重试任何其他错误。
- 对于 429 错误,仅在 Retry-After 标头中指示的时间后重试。
- 对于 5xx 错误,应采用指数退避,第一次重试至少应比该响应晚 5 秒。
- 对于除了 429 和 5xx 之外的其他错误,则通过 DPS 重新注册
- 理想情况下,还应支持 直接方法,以按需手动触发配置。
我们还建议在计划活动(例如,将更新推送到你的机群)时考虑服务限制。 例如,一次性更新机队可能会导致所有设备通过 DPS 重新注册(这很容易超过注册配额限制)。对于此类方案,请考虑分阶段规划设备更新,而不是同时更新整个机群。
后续步骤
- 若要了解有关重新预配的详细信息,请参阅 IoT 中心设备重新预配概念。
- 若要了解有关取消预配的详细信息,请参阅 如何取消预配以前自动预配的设备。