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