次の方法で共有


Visual Studio Code から Azure IoT Edge モジュールをデプロイする

適用対象:IoT Edge 1.5 のチェックマーク IoT Edge 1.5 IoT Edge 1.4 チェックマーク IoT Edge 1.4

重要

サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 LTS です。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日にサポートが終了します。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。

ビジネス ロジックで IoT Edge モジュールを作成したら、それらをデバイスにデプロイしてエッジで動作させます。 連携してデータを収集および処理する複数のモジュールがある場合は、一度にそのすべてをデプロイし、それらを接続するルーティング規則を宣言できます。

この記事では、JSON 配置マニフェストを作成し、そのファイルを使用して IoT Edge デバイスにデプロイをプッシュする方法を示します。 共有タグに基づいて複数のデバイスをターゲットとするデプロイの作成については、Visual Studio Code を使用して IoT Edge モジュールを大規模にデプロイする方法に関するページを参照してください。

前提条件

配置マニフェストを構成する

配置マニフェストは、デプロイするモジュール、モジュール間でのデータ フロー、およびモジュール ツインの目的のプロパティを記述した JSON ドキュメントです。 配置マニフェストのしくみとその作成方法について詳しくは、「IoT Edge モジュールをどのように使用、構成、および再利用できるかを理解する」をご覧ください。

Visual Studio Code を使用してモジュールをデプロイするには、配置マニフェストを .JSON ファイルとしてローカルに保存します。 コマンドを実行して構成をデバイスに適用するときには、次のセクションのファイル パスを使用します。

例として、1 つのモジュールでの基本的な配置マニフェストを次に示します。

Note

このサンプルのデプロイ マニフェストでは、IoT Edge エージェントとハブにスキーマ バージョン 1.1 を使用します。 スキーマ バージョン1.1 は IoT Edge バージョン 1.0.10 と共にリリースされており、モジュールの起動順序やルートの優先順位付けなどの機能を使用できます。

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.1",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
              "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.5",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {
            "route": "FROM /messages/* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {}
    }
  }
}

サインインして IoT ハブにアクセスする

Visual Studio Code 用の Azure IoT 拡張機能を使用して、IoT ハブで操作を実行できます。 これらの操作を動作させるには、Azure アカウントにサインインし、作業している IoT ハブを選択する必要があります。

  1. Visual Studio Code でエクスプローラー ビューを開きます。

  2. エクスプローラーの下部で、 [Azure IoT Hub] セクションを展開します。

    展開された Azure IoT Hub セクションを示すスクリーンショット。

  3. [Azure IoT Hub] セクション ヘッダーで [...] をクリックします。 省略記号が表示されない場合は、ヘッダーをポイントします。

  4. [Select IoT Hub]\(IoT ハブの選択\) を選択します。

  5. Azure アカウントにサインインしていない場合は、プロンプトに従ってサインインします。

  6. Azure サブスクリプションを選択します。

  7. IoT ハブを選択します。

デバイスにデプロイする

モジュールをデバイスにデプロイするには、モジュール情報で構成されている配置マニフェストを適用します。

  1. Visual Studio Code エクスプローラー ビューで [Azure IoT Hub] セクションを展開し、[デバイス] ノードを展開します。

  2. デプロイ マニフェストで構成する IoT Edge デバイスを右クリックします。

    ヒント

    選択したデバイスが IoT Edge デバイスであることを確認するには、そのデバイスを選択してモジュールの一覧を展開し、[$edgeHub][$edgeAgent] が存在することを確認します。 すべての IoT Edge デバイスには、これらの 2 つのモジュールが含まれています。

  3. [Create Deployment for Single Device]\(単一デバイスのデプロイの作成\) を選択します。

  4. 使用する配置マニフェスト JSON ファイルに移動し、[Select Edge Deployment Manifest]\(Edge 配置マニフェストの選択\) をクリックします。

    IoT Edge 配置マニフェストを選択する場所を示すスクリーンショット。

デプロイの結果は、Visual Studio Code の出力に出力されます。 ターゲット デバイスが実行され、インターネットに接続されている場合、成功したデプロイは数分以内に適用されます。

デバイス上のモジュールを表示する

モジュールをデバイスにデプロイした後で、そのすべてを [Azure IoT Hub] セクションで表示できます。 IoT Edge デバイスの横の矢印を選択して展開します。 現在実行中のすべてのモジュールが表示されます。

デバイスに新しいモジュールを最近デプロイした場合は、[Azure IoT Hub Devices]\(Azure IoT Hub デバイス\) セクション ヘッダーをポイントし、更新アイコンをクリックしてビューを更新します。

モジュールの名前を右クリックして、モジュール ツインを表示および編集します。

次のステップ

Visual Studio Code を使用して IoT Edge を大規模にデプロイおよび監視する方法を確認します。