デバイス ツインのプロパティに基づいてデバイスを表示および更新する方法
Azure portal と Azure CLI を使用し、デバイス ツインとモジュール ツインを介してデバイスを管理します。 この記事では、わかりやすくするためにデバイス ツインに焦点を当てていますが、すべての概念とプロセスは、モジュール ツインでも同様の方法で動作します。
この記事では、デバイス ツインをリモートで管理するために Azure portal または Azure CLI で使用できるデバイス ツイン管理タスクについて説明します。 デバイス ツインの変更を処理するデバイス アプリケーションの開発については、「デバイス ツインの使用」を参照してください。
IoT Hub では、"デバイス ツイン" は、状態情報を格納する JSON ドキュメントです。 すべての "デバイス ID" は、作成時にデバイス ツインに自動的に関連付けられます。 バックエンド アプリまたはユーザーは、デバイス ツインの 2 つの要素を更新できます。
- "必要なプロパティ": 必要なプロパティは、リンクされた状態情報のセットの半分です。 バックエンド アプリまたはユーザーは、ツインの必要なプロパティを更新して目的の状態の変化を伝えることができますが、デバイスでは "報告されたプロパティ" を更新して現在の状態を伝えることができます。
- "タグ": デバイス ツイン タグを使用して、IoT ソリューション内のデバイスを整理および管理できます。 デバイスの種類、場所、関数など、意味のあるカテゴリのタグを設定できます。
詳細については、「IoT Hub のデバイス ツインの理解と使用」または「IoT Hub のモジュール ツインの理解と使用」を参照してください。
Note
この記事で説明されている機能は、Standard レベルの IoT Hub でのみ使用できます。 Basic および Standard または Free レベルの IoT Hub の詳細については、ソリューションに適した IoT Hub のレベルの選択に関するページを参照してください。
前提条件
開始する前に、次の前提条件を準備します。
Azure サブスクリプション内の IoT ハブ。 ハブがまだない場合は、「IoT ハブを作成する」の手順に従います。
お使いの IoT ハブに登録されているデバイス。 IoT ハブにデバイスがない場合は、「デバイスを登録する」の手順に従います。
デバイス整理用のタグについて理解する
デバイス ツイン タグは、デバイスの整理に役立つ強力なツールとして使用できます。 IoT ソリューション内に複数の種類のデバイスがある場合は、タグを使用して種類や場所などを設定できます。次に例を示します。
{
"deviceId": "mydevice1",
"status": "enabled",
"connectionState": "Connected",
"cloudToDeviceMessageCount": 0,
"authenticationType": "sas",
"tags": {
"deploymentLocation": {
"building": "43",
"floor": "1"
},
"deviceType":"HDCamera"
},
"properties": {
...
}
}
デバイス ツインを表示および更新する
デバイス ID が作成されると、IoT Hub 内でデバイス ツインが暗黙的に作成されます。 Azure portal または Azure CLI を使用して、特定のデバイスのデバイス ツインを取得できます。 また、タグと必要なプロパティを追加、編集、または削除することもできます。
Azure Portal で、IoT ハブに移動します。
IoT ハブで、ナビゲーション メニューの [デバイス管理] セクションから [デバイス] を選択します。
[デバイス] ページに、IoT ハブに登録されているすべてのデバイスの一覧が表示されます。 いずれかのデバイスのデバイス ツインにタグが既にある場合は、それらのタグが [タグ] 列に表示されます。
管理するデバイスの名前を選択します。
ヒント
タグを更新する場合は、複数のデバイスを選び、[タグの割り当て] を選択してグループとして管理できます。
デバイスの詳細ページには、選択したデバイスの現在のタグが表示されます。 [タグ] パラメーターの横にある [編集] を選択して、タグを追加、更新、または削除します。
ヒント
入れ子になったタグを追加または更新するには、[詳細設定] タブを選択し、JSON を指定します。
[デバイス ツイン] を選択して、デバイス ツインの JSON を表示および更新します。
テキスト ボックスに直接入力して、タグまたは必要なプロパティを更新できます。 タグまたは必要なプロパティを削除するには、項目の値を
null
に設定します。[保存] を選択して変更を保存します。
デバイスの詳細ページに戻り、[更新] を選択して、変更を反映するようにページを更新します。
デバイスにモジュール ID が関連付けられている場合は、それらのモジュールもデバイスの詳細ページに表示されます。 モジュール名を選び、[モジュール ID ツイン] を選択してモジュール ツインの JSON を表示および更新します。
デバイス ツインのクエリ
IoT Hub は、IoT Hub のデバイス ツインを devices という名前のドキュメント コレクションとして公開します。 デバイス ツインの値に基づいてデバイスのクエリを実行できます。
このセクションでは、Azure portal と Azure CLI でツイン クエリを実行する方法について説明します。 ツイン クエリを記述する方法については、「IoT Hub デバイスとモジュール ツインのクエリ」を参照してください。
Azure Portal で、IoT ハブに移動します。
IoT ハブで、ナビゲーション メニューの [デバイス管理] セクションから [デバイス] を選択します。
フィルターまたはクエリを使用し、デバイス ツインの詳細に基づいてデバイスを検索できます。
フィルターを使用してデバイスを検索する:
フィルターを使用したデバイスの検索は、Azure portal の既定のビューです。 これらのフィールドが表示されない場合は、[フィルターを使用してデバイスを検索する] を選択します。
[フィルターの追加] を選択し、ドロップダウン メニューからフィルターの種類として [デバイス タグ] を選びます。
目的のタグ名と値を入力し、[適用] を選択して、条件に一致するデバイスの一覧を取得します。
クエリを使用してデバイスを検索する:
[クエリを使用してデバイスを検索する] を選択します。
テキスト ボックスにクエリを入力し、[クエリの実行] を選択します。
ジョブを使用してデバイス ツインを更新する
"ジョブ" 機能では、スケジュールされた時刻に一連のデバイスに対してデバイス ツインの更新を実行できます。 詳細については、「複数のデバイスでジョブをスケジュールする」を参照してください。
ジョブは Azure portal ではサポートされていません。 代わりに、Azure CLI を使用します。