次の方法で共有


Azure Device Update for IoT Hub のデバイス グループを管理する

Azure Device Update for IoT Hub では、IoT デバイスのユーザー定義グループに更新プログラムをデプロイできます。 すべての Device Update マネージド デバイスはデバイス グループのメンバーですが、デバイス グループの定義は省略可能です。 または、Device Update によって提供される既定のデバイス グループにデプロイすることもできます。

ユーザー定義の Device Update タグ値を作成してデバイスに割り当てる場合、Device Update では、割り当てられたタグとデバイスの互換性プロパティに基づいてグループが自動的に作成されます。 デバイス グループごとに、Device Update では、異なるデバイス クラスを持つ複数のサブグループを作成できます。 Device Update は、タグのないデバイスを default デバイス グループに配置します。

この記事では、Azure portal または Azure CLI を使用して、ユーザー定義の Device Update デバイスのタグとグループを作成および管理する方法について説明します。 ユーザー定義または既定のデバイス グループに更新プログラムをデプロイするには、「デバイスの更新プログラムをデプロイする」を参照してください。

前提条件

デバイスにタグを追加する

Device Update デバイス グループを割り当てるには、IoT Hub で Device Update 接続デバイスのターゲット セットに ADUGroup タグを追加します。 Device Update エージェントがデバイス ID を使用してプロビジョニングされている場合は、デバイス ツインにタグを追加します。Device Update エージェントがモジュール ID を使用してプロビジョニングされている場合は、対応するモジュール ツインにタグを追加します。

Device Update ADUGroup タグは、次のデバイス ツインまたはモジュール ツインの例に示すように、キーと値の形式を使用します。

"etag": "",
"deviceId": "",
"deviceEtag": "",
"version": <version>,
"tags": {
   "ADUGroup": "<CustomTagValue>"
}

ツインの JSON 構文の詳細および例については、デバイス ツインの理解と使用に関する記事またはモジュール ツインの理解と使用に関する記事を参照してください。

ADUGroup タグには、次のプロパティと制限があります。

  • デバイスは、ADUGroup タグを 1 つだけ持ち、一度に 1 つの Device Update グループにのみ属することができます。 ADUGroup という名前の別のタグを追加すると、既存の ADUGroup 値がオーバーライドされます。
  • 予約値 Uncategorized$default 以外の任意の値をタグに使用できます。
  • 200 文字を超えるタグ値は指定できません。
  • タグ値には、英数字と特殊文字の . - _ ~ を含めることができます。
  • ADUGroup のタグ名とグループ名の値では、大文字と小文字が区別されます。

次のセクションでは、タグを追加および更新するいくつかの方法について説明します。

SDK を使用してタグを追加する

Device Update にデバイスを登録したら、RegistryManager を使用して、適切なタグでデバイス ツインまたはモジュール ツインを更新できます。 詳細については、次の記事をご覧ください。

ジョブを使用してタグを追加する

ジョブをスケジュールして、複数のデバイスで Device Update タグを追加または更新できます。 ジョブの操作例については、「複数デバイスでのジョブをスケジュール設定する」を参照してください。 Device Update エージェントのプロビジョニングにデバイス ID が使用されているかモジュール ID が使用されているかによって、ジョブを使用してデバイス ツインまたはモジュール ツインを更新できます。 詳細については、「ジョブのスケジュールとブロードキャスト」を参照してください。

Note

この操作は、IoT Hub メッセージ クォータにカウントされます。 一度に 50,000 以上のデバイス ツインまたはモジュール ツインのタグを変更する場合は、1 日の IoT Hub メッセージ クォータを超える可能性があり、IoT Hub ユニットの追加購入が必要になる場合があります。 詳細については、クォータとスロットリングに関する記事を参照してください。

ツインを更新してタグを追加する

ADUGroup タグをデバイス ツインまたはモジュール ツインで直接追加または更新することもできます。

  1. Azure Portal で、IoT ハブに移動します。

  2. 左側のナビゲーション ウィンドウで、[デバイス管理][デバイス] を選択します。 IoT Edge デバイスがある場合は、代わりに [IoT Edge] を選択します。

  3. [デバイス] ページで、デバイスを選択します。

  4. デバイス ページで、上部のメニューから [デバイス ツイン] を選択するか、[モジュール ID] でモジュール ID を選択し、モジュール ツインを選択します。

  5. ツインで、次のように、ユーザー定義の値を持つ ADUGroup タグを追加します。 既存の ADUGroup タグ値を更新するには、別のユーザー定義の値で上書きします。

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    
  6. [保存] を選択します。

デバイス グループを表示する

  1. Azure portal で、Device Update インスタンスに接続されている IoT ハブに移動します。

  2. 左側のナビゲーションの [デバイス管理][更新プログラム] オプションを選択します。

  3. [グループとデプロイ] タブを選択します。

    グループ化されていないデバイスのスクリーンショット。

グループを作成すると、コンプライアンス チャートとグループ リストが更新されます。 Device Update のコンプライアンス チャートには、さまざまなコンプライアンス対応状態 (最新の更新状態利用可能な新しい更新プログラムがある更新プログラムのインストールが進行中) にあるデバイスの数が表示されます。 詳細については、「デバイス更新のコンプライアンス」を参照してください。

既存の Device Update グループと、それらのグループ内のデバイスで使用可能な更新プログラムがグループ リストに表示されます。 グループのデバイス クラスの要件を満たしていないデバイスは、対応する無効なグループに表示されます。 このビューから、グループの横にある [デプロイ] を選択することで、そのグループに利用できる最適な更新プログラムをデプロイできます。

更新プログラムのコンプライアンス ビューのスクリーンショット。

グループのデバイスの詳細を表示する

  1. [グループとデプロイ] タブで、グループの名前を選択します。

    [グループの詳細] ページでは、更新プログラムのコンプライアンス チャートには、さまざまなコンプライアンス状態にあるグループ メンバー デバイスの数が表示され、グループ メンバー デバイス リストには、デバイスの更新プロパティが表示されます。

    デバイス グループの詳細ビューのスクリーンショット。

  2. グループ内の個々のデバイスを選択して、IoT Hub のデバイスの詳細ページに移動します。

    デバイスの詳細ビューのスクリーンショット。

    IoT ハブのデバイスの詳細ビューのスクリーンショット。

デバイス グループからデバイスを削除する

デバイス グループからデバイスを削除するには、ツインの ADUGroup タグ値を null に変更し、[保存]を選択します。

    "tags": {
            "ADUGroup": "null"
            }

このアクションにより、デバイス ツインからグループ タグが削除され、デバイス グループからデバイスが削除されます。

デバイス グループの削除

Device Update はデバイス グループを自動的に作成し、履歴レコードやその他のユーザー ニーズに合わせてデバイス グループ、デバイス クラス、デプロイを保持します。自動的にクリーンアップされることはありません。 デバイス グループは、グループを個別に選択して削除するか、グループで az iot du device group delete Azure CLI コマンドを呼び出すことによって、Azure portal を使用して削除できます。

グループを削除するには、次の条件を満たす必要があります。

  • default グループではない。
  • メンバー デバイスがない。 つまり、Device Update インスタンスでプロビジョニングされたデバイスには、グループ名と一致する値を持つ ADUGroup タグを設定できません。
  • アクティブなデプロイまたは取り消されたデプロイが関連付けられていない。

Note

上記の要件を満たすグループを削除できない場合は、グループの一部としてタグ付けされた異常なデバイスがあるかどうかを確認します。 異常なデバイスはデプロイを受け取ることができないため、グループ内のメンバー デバイスのリストには直接表示されません。

異常なデバイスがあるかどうかを確認するには、次の手順を実行します。

  1. Azure Portal で、IoT ハブに移動します。
  2. 左側のナビゲーションから [更新プログラム] を選択してから、[診断] タブを選択します。
  3. [不足しているデバイスの検索] セクションを展開します。

グループの一部としてタグ付けされた異常なデバイスがある場合は、グループを削除する前に、タグ値を変更するか、デバイスを削除する必要があります。

削除されたグループ名にデバイスが再び割り当てられた場合、Device Update によってグループが自動的に再作成されますが、関連付けられているデバイスやデプロイの履歴はありません。