Share via


Azure IoT Hub でデバイス ツイン タグを使用してデバイスを管理する方法

この記事では、デバイス ツイン タグを使用して IoT デバイスを管理するためのタグの使用法について説明します

デバイス ツイン タグは、デバイスの整理に役立つ強力なツールとして使用できます。 これは、IoT ソリューション内に複数の種類のデバイスがある場合に特に重要です。タグを使用して、種類や場所などを設定できます。以下に例を示します。

{
    "deviceId": "mydevice1",
    "status": "enabled",
    "connectionState": "Connected",
    "cloudToDeviceMessageCount": 0,
    "authenticationType": "sas",
    "tags": {
        "deploymentLocation": {
            "building": "43",
            "floor": "1"
        },
		"deviceType":"HDCamera"
    },
    "properties": {
     ...
    }
}

前提条件

  • IoT Hub。 CLI または Azure portal を使って作成します。

  • 少なくとも 2 つの登録済みデバイス。 Azure portal でデバイスを登録します。

Azure portal を使用してデバイス ツイン タグを追加および表示する

ここでは、Azure portal を使用して IoT ハブを作成する方法について説明します。

  1. Azure portal にサインインして、お使いの IoT ハブに移動します。

  2. 左側のナビゲーションで [デバイス] タブを選択します。

  3. 目的のデバイスを選択し、[タグの割り当て] を選択します。

    タグを割り当てるデバイスの選択を示すスクリーンショット。

  4. 開いているビューで、デバイスに既に存在するタグを確認できます。 新しい基本タグを追加するには、タグの名前を指定します。 名前と値のペアの形式は、「タグやプロパティの形式」に示されています。 [保存] を選択してタグを保存します。

    タグをデバイスに割り当てる画面のスクリーンショット。

  5. 保存後、[タグの割り当て] をもう一度選択すると、追加されたタグを表示できます。

    デバイスに追加されたタグの表示を示すスクリーンショット。

入れ子になったタグを追加して表示する

  1. 上記の例に従って、[タグの割り当て] で [詳細設定] タブを選択して、入れ子になったタグを追加し、2 つの値を持つ入れ子になった json オブジェクトを追加できます。
    {
        "deploymentLocation": {
            "building": "43",
            "floor": "1"
        }
    }
    
  2. [保存] を選択します。入れ子になったタグのデバイスへの追加を示すスクリーンショット。
  3. デバイスをもう一度選択し、[タグの割り当て] を選択して、新しく追加されたタグを表示します。デバイスの入れ子になったタグの表示を示すスクリーンショット。

デバイス ツイン タグを使用したデバイスのフィルター処理

デバイス ツイン タグは、種類や場所などでデバイスをグループ化するための優れた方法であり、デバイス タグをフィルター処理することによって、デバイスを管理できます。

  1. [+ フィルターの追加] を選択し、フィルターの種類として [デバイス タグ] を選択します
  2. 目的のタグ名と値を入力し、[適用] を選択して、条件に一致するデバイスの一覧を取得します。タグを使用したデバイスのフィルター処理を示すスクリーンショット。

Azure portal を使用して複数のデバイスでデバイス ツイン タグを更新および削除する

  1. 2 つ以上のデバイスを選択し、[タグの割り当て] を選択します。
  2. 開いているパネルで、[名前] フィールドにターゲット タグ名を入力し、[値] フィールドに新しい文字列を入力することで、既存のタグを更新できます。
  3. 複数のデバイスからタグを削除するには、[名前] フィールドにターゲット タグ名を入力し、[タグの削除] ボタンを選択します。 タグへの削除のマーク付けを示すスクリーンショット。
  4. [保存] を選択して、一致するタグ名を含むタグをデバイスから削除します。

Azure CLI を使用したデバイス ツイン タグの管理

次のセクションでは、Azure CLI を使用したタグ付けの例をいくつか紹介します。 デバイス ツイン CLI の完全なリファレンスについては、こちらを参照してください。

  1. コマンド プロンプトで、ログイン コマンドを実行します。

    az login
    

    指示に従って、コードを使用して認証し、Web ブラウザーで Azure アカウントにサインインします。

  2. 複数の Azure サブスクリプションがある場合は、Azure にサインインすると、資格情報に関連付けられているすべてのAzure アカウントへのアクセスが許可されます。 az account list を使用して、アカウントの完全なリストを表示します。

    az account list
    

    以下のコマンドを使用して、コマンドを実行して IoT ハブを作成するために使用するサブスクリプションを選択します。 前のコマンドの出力から、サブスクリプション名または ID のいずれかを使用できます。

    az account set --subscription {your subscription name or id}
    
  3. 次のコマンドでは、ファイル通知を有効にし、ファイル通知プロパティを既定値に設定します。 (ファイル アップロード通知の有効期限は 1 時間に設定され、ロック期間は 60 秒に設定されます。)

    az iot hub device-twin update -n {iothub_name} \
        -d {device_id} --tags '{"country": "USA"}'
    
  4. json ファイルをインポートするか、json を入力に直接追加することによって、入れ子になった複雑なタグを追加できます。

    az iot hub device-twin update --name {your iot hub name} \
        -d {device_id} --tags /path/to/file
    
    az iot hub device-twin update --name {your iot hub name} \
        -d {device_id} --tags '{"country":{"county":"king"}}'
    
  5. 既存のタグで コマンドを使用して、値を更新します。

    az iot hub device-twin update --name {your iot hub name} \
        -d {device_id} --tags '{"country": "Germany"}'
    
  6. 次のコマンドは、値を null に設定することにより、追加されたタグを削除します。

    az iot hub device-twin update --name {your iot hub name} \
        -d {device_id} --tags '{"country": null}'
    

注意

Powershell または CloudShell>Powershell モードを使用している場合は、スラッシュ '\' を追加して、すべての二重引用符をエスケープする必要があります。 例: --tags '{\"country\":\"US\"}'

Azure CLI を使用してタグを設定するジョブを作成する

IoT Hub ジョブ CLI の完全なリファレンスについては、こちらを参照してください。

次のステップ

デバイス ツインの詳細を理解したら、次の IoT Hub 開発者ガイド トピックも参考にしてください。

この記事で説明した概念を試すには、次の IoT Hub のチュートリアルをご覧ください。