Device Update for IoT Hub では、コンプライアンスによって、利用可能な最新バージョンを実行しているデバイスの数が測定されます。 デバイスは、モデルと互換性のある利用可能な最高バージョンの更新プログラムを実行する場合に準拠しています。
たとえば、次の更新プログラムを含む Device Update のインスタンスを考えてみましょう。
| 更新プログラムの名前 | バージョンの更新 | 互換性のあるデバイス モデル |
|---|---|---|
| 更新1 | 1.0 | Model1 |
| アップデート2 | 1.0 | Model2 |
| Update3 | 2.0 | Model1 |
次のデプロイメントが作成されたと仮定しましょう。
| デプロイ名 | 更新プログラムの名前 | 対象グループ |
|---|---|---|
| Deployment1 | 更新1 | Group1 |
| Deployment2 | アップデート2 | Group2 |
| Deployment3 | Update3 | グループ3 |
次に、グループ メンバーシップとインストールされているバージョンを含む、次のデバイスについて検討します。
| デバイスID | デバイスのモデル | インストールされている更新プログラムのバージョン | グループ | Compliance |
|---|---|---|---|---|
| Device1 | Model1 | 1.0 | Group1 | 利用可能な新しい更新プログラム |
| Device2 | Model1 | 2.0 | グループ3 | 最新の更新プログラムの場合 |
| Device3 | Model2 | 1.0 | Group2 | 最新の更新プログラムの場合 |
| Device4 | Model1 | 1.0 | グループ3 | 進行中の更新 |
Device1とDevice4は、バージョン1.0がインストールされているため、モデルに互換性のあるより高いバージョンのアップデート、Update3がDevice Updateインスタンス内にあるにもかかわらず、準拠していません。 Device2 と Device3 は両方とも準拠しています。これは、インストールされているモデルに対応する最高バージョンの更新プログラムがあるためです。
コンプライアンスは、更新プログラムがデバイスのグループに展開されているかどうかに依存しません。それは、Device Update に発行されたすべての更新プログラムを考慮します。 この例では、Device1 は展開された更新プログラムをインストールしますが、非準拠のままです。 Device1 は、Update3 をインストールするまで非準拠の状態を維持します。 コンプライアンスの状態は、新しいデプロイが必要なタイミングを識別するのに役立ちます。
Device Update for IoT Hub には、次の 3 つのコンプライアンス状態があります。
- 最新の更新プログラムでは 、デバイスは、デバイス更新プログラムに発行された互換性が最も高いバージョンの更新プログラムを実行します。
- 更新の進行中 – アクティブな展開では、互換性が最も高いバージョンの更新プログラムがデバイスに配信されます。
- 利用可能な新しい更新プログラム – デバイスは、互換性が最も高いバージョンの更新プログラムを実行せず、その更新プログラムのアクティブな展開ではありません。