Azure Device Update for IoT Hub を使用して更新プログラムをデプロイする
[アーティクル] 02/21/2025
5 人の共同作成者
フィードバック
この記事の内容
この記事では、Azure portal または Azure CLI で Azure Device Update for IoT Hub を使用して、IoT デバイスに更新プログラムをデプロイする方法について説明します。
前提条件
更新プログラムをデプロイする
このセクションでは、Azure portal または Azure CLI を使用して更新プログラムをデプロイする方法について説明します。
Azure Portal で、IoT ハブに移動します。
左側のナビゲーションの [デバイス管理] で [更新プログラム] を選択します。
[更新プログラム] ページで、[グループとデプロイ] タブを選択し、更新プログラムのコンプライアンス チャート およびデバイス グループ リスト を表示します。 デバイス グループで最近インポートされた更新プログラムを表示するには、ビューの更新が必要になる場合があります。
グループ リストの [状態] で、[このグループに対して 1 つ以上の新しい更新プログラムが利用可能です] の横にある [デプロイ] を選択します。
更新プログラムのコンプライアンス チャートとグループの一覧を表示します。 タグ ベースまたは既定のグループで使用できる新しい更新プログラムが表示されます。 場合によっては、一度最新の情報に更新する必要があります。 詳細については、「デバイス更新のコンプライアンス 」を参照してください。
[1 つ以上の更新プログラムが利用可能] 状態の横にある [デプロイ] を選択します。
右側のリストから、デプロイする必要な更新プログラムを選択します。
デプロイを直ちに開始するか、後で開始するようにスケジュールします。
ヒント
既定の開始 日時は、現在の時刻から 24 時間後です。 デプロイを早めたい、または遅らせたい場合は、異なる日時を選択してください。
必要に応じて、自動ロールバック ポリシーを作成します。
[作成] を選択します。
[現在の更新プログラム] タブでは、デプロイの状態を表示できます。
[グループの基本] ビューでは、更新プログラムが進行中であることがコンプライアンス チャートに表示されます。
デバイスが正常に更新されると、コンプライアンス チャートとデプロイの詳細がその状態を反映するように更新されます。
Azure Cloud Shell の Bash 環境を使用して、次のコマンドを実行できます。
[Cloud Shell の起動] を選択して Cloud Shell を開くか、Azure portal の上部ツールバーにある Cloud Shell アイコンを選択します。
または、必要に応じて、Azure CLI コマンドをローカルで実行することもできます。
Azure CLI のインストール 。
az version を実行して、インストールされている Azure CLI のバージョンと依存ライブラリを確認し、az upgrade を実行して最新バージョンをインストールします。
az login を実行して Azure にサインインします。
初回使用時にメッセージが表示されたら、azure-iot
拡張機能をインストールします。 最新バージョンの拡張機能を使用していることを確認するには、az extension update --name azure-iot
を実行します。
ヒント
この記事の Azure CLI コマンドでは、行の継続にバックスラッシュ (\) 記号を使用して、コマンド引数を読みやすくします。 この構文は、Bash 環境で機能します。 PowerShell でこれらのコマンドを実行している場合は、各円記号をバックティック (`) に置き換えるか、完全に削除します。
更新プログラムの可用性を確認する
az iot du device group list
コマンドを使用して、デバイス グループを識別します。
az iot du device group list \
--account <Device Update account name> \
--instance <Device Update instance name>\
次に、az iot du device group show
を使用して、グループに最適な更新プログラムを表示します。 コマンドは次の引数を使用します。
--account
: Device Update アカウント名。
--instance
: デバイス更新インスタンス名。
--group-id
: このデプロイで対象としているデバイス グループ ID。これは、ADUGroup
タグの値か、タグのないデバイスの場合は $default
です。
--resource-group
: Device Update アカウントのリソース グループ名。
--best-updates
: デバイス グループに利用可能な最適な更新プログラムが返されます。各更新プログラムを必要とするデバイスの数も含まれます。
--update-compliance
: デバイス グループの更新プログラムのコンプライアンス情報 (最新の更新プログラムが適用されているデバイスの数、新しい更新プログラムが必要なデバイスの数、現在新しい更新プログラムを受信しているデバイスの数など) が返されます。
グループに最適な更新プログラムを確認するには、次のようにコマンドを実行します。
az iot du device group show \
--account <Device Update account name> \
--instance <Device Update instance name>\
--group-id <device group ID>\
--best-updates
配置を作成する
az iot du device deployment create
を使用して、デバイス グループのデプロイを作成します。 コマンドは次の引数を使用します。
--account
: Device Update アカウント名。
--instance
: デバイス更新インスタンス名。
--group-id
: このデプロイで対象としているデバイス グループ ID。これは、ADUGroup
タグの値か、タグのないデバイスの場合は $default
です。
--deployment-id
: このデプロイを識別する ID。
--update-name
、--update-provider
、および --update-version
: updateId
オブジェクトを定義するパラメーター。このデプロイの更新プログラムの一意識別子です。
次のように コマンドを実行します。
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version>
オプションの引数を使用する
オプションの引数を使用すると、デプロイを構成できます。 オプションの引数の完全な一覧については、「オプションのパラメーター 」を参照してください。
自動ロールバック ポリシーを作成するには、次のパラメーターを追加します。
--failed-count
: ロールバックをトリガーするデプロイでの、失敗したデバイスの数。
--failed-percentage
: ロールバックをトリガーするデプロイでの、失敗したデバイスの割合。
--rollback-update-name
、--rollback-update-provider
、--rollback-update-version
: ロールバックが開始された場合に使用する更新プログラムのパラメーター。
次のように コマンドを実行します。
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--failed-count 10 \
--failed-percentage 5 \
--rollback-update-name <rollback update name> \
--rollback-update-provider <rollback update provider> \
--rollback-update-version <rollback update version>
デプロイの開始時刻を設定するには、次のように --start-time
パラメーターを使用して、デプロイのターゲット日時を指定します。
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id> \
--deployment-id <deployment id> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--start-time "2022-12-20T01:00:00"
デプロイ ステータスを監視する
[更新プログラム] ページの [グループとデプロイ] タブで、デプロイ先のグループを選択します。
[グループの詳細] ページで、[現在のデプロイ] または [デプロイ履歴] タブに移動して、デプロイが進行中であることを確認します。
デプロイの横にある [詳細] を選択して、デプロイの詳細、更新プログラムの詳細、ターゲット デバイス クラスの詳細を表示します。 必要に応じて、デバイス クラスのフレンドリ名を追加することもできます。
[最新の情報に更新] を選択して、最新の状態の詳細を表示します。
[グループの詳細] ページの [グループの基本] タブに移動して、特定のデバイスの状態を検索したり、フィルター処理してデプロイに失敗したデバイスのみを表示したりできます。
デバイス グループのすべてのデプロイを表示するには、az iot du device deployment list を使用します。
az iot du device deployment list \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id>
特定のデプロイの詳細を表示するには、az iot du device deployment show を使用します。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID>
--status
フラグを追加すると、デプロイが進行中のデバイス、完了したデバイス、または失敗したデバイスの数に関する情報が返されます。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--status
更新プログラムの展開を再試行する
デプロイが失敗した場合は、失敗したデバイスのデプロイを再試行できます。
[グループの詳細] スクリーンで [現在のデプロイ] タブに移動します。
[失敗したデバイスの再試行] を選択し、確認通知に同意します。
デバイスのターゲット サブグループのデプロイを再試行するには、az iot du device deployment retry を使用します。
このコマンドは、--class-id
引数を受け取ります。これは、デバイス更新エージェントによって報告されたモデル ID と互換性プロパティから生成されます。
az iot du device deployment retry \
--account <Device Update account name> \
--instance <Device Update instance name> \
--deployment-id <deployment ID> \
--group-id <device group ID> \
--class-id <device class ID>
関連するコンテンツ