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

将设备和组迁移到最新的 Device Update for IoT Hub 版本

由于 Device Update for IoT Hub 服务发布了新版本,你需要更新设备以获取最新的功能和安全改进。 本文介绍了如何从[公共预览版刷新 (PPR) 版本]迁移到当前的 GA 版本。 本文还介绍了这些版本中的组和 UX 行为。 如果你没有那些使用公共预览版刷新版本的设备、组和部署,你可以忽略此页。

要成功迁移,必须升级在设备上运行的 DU 代理。 请注意,由于 GA 版本发生了重大更改,我们建议你严格按照说明进行操作,以避免出现错误。

注意

创建的所有 PPR 设备组将自动更改为 GA 组。 组和设备将在迁移后可用。 部署历史记录不会延续到更新后的 GA 组。

更新 Device Update 代理

对于 GA 版本,Device Update 代理可以手动更新,也可以使用 Device Update 服务通过 apt 清单或映像更新来更新。 如果使用映像更新,则可以在更新中包括 GA Device Update 代理。

手动 DU 代理升级

  1. 在更新设备之前,设备属性将包括 PPR PnP 模型详细信息。 “合同模型名称”将显示“设备更新模型 V1”,“合同模型 ID”将显示“dtmi:azure:iot:deviceUpdateContractModel;1”。

  2. 通过 SSH 连接到设备并更新 Device Update 代理。

    sudo apt install deviceupdate-agent
    sudo systemctl restart deviceupdate-agent
    sudo systemctl status deviceupdate-agent
    
  3. 确认 DU 代理正常运行。 查找“HealthCheck 已通过”

    sudo -u adu /usr/bin/AducIotAgent -h  
    
  4. 在 Device Update 门户中查看更新的设备。 设备属性现在将显示更新的 PnP 模型详细信息。“合同模型名称”将显示“设备更新模型 V2”,“合同模型 ID”将显示“dtmi:azure:iot:deviceUpdateContractModel;2”。

通过 APT 清单升级 OTA DU 代理

  1. 在更新设备之前,设备属性将包括 PPR PnP 模型详细信息。 “合同模型名称”将显示“设备更新模型 V1”,“合同模型 ID”将显示“dtmi:azure:iot:deviceUpdateContractModel;1”。

  2. 添加 Device Update 代理升级作为更新的最后一步。 导入清单版本必须为“4.0”,以确保它面向正确的设备。 请参阅以下示例导入清单和 APT 清单:

    示例导入清单

    {
       "manifestVersion": "4",
       "updateId": {
         "provider": "Contoso",
         "name": "Sensor",
         "version": "1.0"
       },
       "compatibility": [
         {
           "manufacturer": "Contoso",
           "model": "Sensor"
         }
       ],
       "instructions": {
         "steps": [
           {
         "handler": "microsoft/apt:1",
         "handlerProperties": {
           "installedCriteria": "1.0"
         },
         "files": [
           "fileId0"
         ]
           }
         ]
       },
       "files": {
         "fileId0": {
           "filename": "sample-upgrade-apt-manifest.json",
           "sizeInBytes": 210,
           "hashes": {
         "sha256": "mcB5SexMU4JOOzqmlJqKbue9qMskWY3EI/iVjJxCtAs="
           }
         }
       },
       "createdDateTime": "2022-08-20T18:32:01.8404544Z"
     }
    

    示例 APT 清单

      {
        "name": "Sample DU agent upgrade update",
        "version": "1.0.0",
        "packages": [
        {
            "name": "deviceupdate-agent"
        }
        ]
    }
    

注意

代理升级必须是最后一步。 在代理升级之前,可能要执行其他步骤。 当设备重新连接到 DU 服务时,不会正确执行和报告代理升级后添加的任何步骤。

  1. 部署更新。

  2. 成功部署更新后,设备属性现在将显示更新的 PnP 模型详细信息。“合同模型名称”将显示“设备更新模型 V2”,“合同模型 ID”将显示“dtmi:azure:iot:deviceUpdateContractModel;2”。

跨版本的组和部署行为

  • 具有公共预览版刷新 DU 代理 (0.8.x) 和 GA DU 代理 (1.0.x) 的设备可以通过 Device Update 门户进行管理。

  • 不能将具有旧代理 (0.7.0/0.6.0) 的设备添加到这些组。

后续步骤

了解 Device Update 代理配置文件

以下教程提供了 Device Update for IoT Hub 的简单演示: