デバイスとグループを最新の Device Update for IoT Hub リリースに移行する

Device Update for IoT Hub サービスの新しいバージョンがリリースされたら、最新の機能およびセキュリティの強化のために、デバイスを更新する必要があります。 この記事では、[パブリック プレビュー更新 (PPR) リリース] から現在の GA リリースに移行する方法について説明します。 この記事では、これらのリリース前後でのグループと UX の動作についても説明します。 パブリック プレビュー更新リリースを使用するデバイス、グループ、デプロイが存在しない場合、このページを無視してかまいません。

正常に移行するには、デバイスで実行されている DU エージェントをアップグレードする必要があります。 GA リリースには大きな変更があるため、エラーを回避するために、注意して手順に従うことをお勧めします。

注意

作成されているすべての PPR デバイス グループが、自動的に GA グループに変更されます。 グループとデバイスは、移行後に使用できるようになります。 デプロイ履歴は、更新された GA グループに引き継がれません。

デバイス更新エージェントを更新する

GA リリースの場合、デバイス更新エージェントは、手動で更新することも、apt マニフェストまたはイメージ更新プログラムを使用してデバイス更新サービスを使用して更新することもできます。 イメージ更新プログラムを使用する場合は、GA のデバイス更新エージェントを更新に含めることができます。

DU エージェントの手動アップグレード

  1. デバイスの更新前は、デバイスの属性に PPR PnP モデルの詳細が含まれています。 コントラクト モデル名には Device Update Model V1 が表示され、コントラクト モデル ID には dtmi:azure:iot:deviceUpdateContractModel;1 が表示されます。

  2. デバイスに SSH 接続し、デバイス更新エージェントを更新します。

    sudo apt install deviceupdate-agent
    sudo systemctl restart deviceupdate-agent
    sudo systemctl status deviceupdate-agent
    
  3. DU エージェントが正しく実行されていることを確認します。 'HealthCheck passed' を探してください

    sudo -u adu /usr/bin/AducIotAgent -h  
    
  4. デバイス更新ポータルで更新されたデバイスを確認します。 デバイスの属性には更新された PnP モデルの詳細が表示されます。コントラクト モデル名には Device Update Model V2 が表示され、コントラクト モデル ID には dtmi:azure:iot:deviceUpdateContractModel;2 が表示されます。

APT マニフェストを使用した DU エージェントの OTA アップグレード

  1. デバイスの更新前は、デバイスの属性に PPR PnP モデルの詳細が含まれています。 コントラクト モデル名には Device Update Model V1 が表示され、コントラクト モデル ID には dtmi:azure:iot:deviceUpdateContractModel;1 が表示されます。

  2. 更新の最後のステップとして、デバイス更新エージェントのアップグレードを追加します。 正しいデバイスを対象とするために、インポート マニフェストのバージョンは "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 モデルの詳細が表示されます。コントラクト モデル名には Device Update Model V2 が表示され、コントラクト モデル ID には dtmi:azure:iot:deviceUpdateContractModel;2 が表示されます。

リリース前後でのグループとデプロイの動作

  • パブリック プレビュー更新の DU エージェント (0.8.x) と GA の DU エージェント (1.0.x) を持つデバイスは、デバイス更新ポータルから管理できます。

  • 古いエージェント (0.7.0/0.6.0) を持つデバイスは、これらのグループに追加できません。

次のステップ

デバイス更新エージェントの構成ファイルについて

次のチュートリアルを使用して、Device Update for IoT Hub の簡単なデモを実行できます。