次の方法で共有


組み込みのダイレクト メソッドを使用して edgeAgent と通信する

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

重要

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

IoT Edge エージェント モジュールのダイレクト メソッドを使用して、IoT Edge デプロイを監視および管理します。 ダイレクト メソッドはデバイスに実装され、クラウドから呼び出すことができます。 IoT Edge エージェントには、IoT Edge デバイスをリモートで監視および管理するためのダイレクト メソッドが含まれています。

ダイレクト メソッドの詳細、使用方法、独自のモジュールに実装する方法については、「IoT Hub からのダイレクト メソッドの呼び出しについて」を参照してください。

これらのダイレクト メソッドの名前では、大文字と小文字が区別されません。

ping

ping メソッドは、IoT Edge がデバイスで実行されているかどうか、またはデバイスが IoT Hub に対して開いている接続を持っているかどうかを確認します。 このメソッドを使用して、IoT Edge エージェントに ping を実行し、その状態を確認します。 ping が成功すると、空のペイロードと "status": 200 が返されます。

次に例を示します。

az iot hub invoke-module-method --method-name 'ping' -n <hub name> -d <device name> -m '$edgeAgent'

Azure portal で、メソッド名 ping と空の JSON ペイロード {}を使用してメソッドを呼び出します。

Azure portal でダイレクト メソッド ping を呼び出す方法のスクリーンショット。

モジュールの再起動

RestartModule メソッドを使用すると、IoT Edge デバイスで実行されているモジュールをリモートで管理できます。 モジュールが失敗した状態または異常な動作を報告する場合は、IoT Edge エージェントをトリガーして再起動します。 再起動コマンドが成功すると、 "status": 200 の空のペイロードが返されます。

RestartModule メソッドは、IoT Edge バージョン 1.0.9 以降で使用できます。

ヒント

Azure portal の IoT Edge のトラブルシューティング ページでは、モジュールの再起動が簡略化されます。 詳細については、「Azure portal から IoT Edge デバイスを監視およびトラブルシューティングする」を参照してください。

EdgeAgent モジュールを含め、IoT Edge デバイスで実行されている任意のモジュールで RestartModule ダイレクト メソッドを使用します。 このダイレクト メソッドを使用して edgeAgent をシャットダウンした場合、モジュールの再起動中に接続が中断されるため、成功の結果は得られません。

次に例を示します。

az iot hub invoke-module-method --method-name 'RestartModule' -n <hub name> -d <device name> -m '$edgeAgent' --method-payload \
'
    {
        "schemaVersion": "1.0",
        "id": "<module name>"
    }
'

Azure portal で、次の JSON ペイロードで RestartModule メソッド名を使用します。

{
    "schemaVersion": "1.0",
    "id": "<module name>"
}

Azure portal でダイレクト メソッド RestartModule を呼び出すスクリーンショット。

診断ダイレクト メソッド

  • GetModuleLogs: ダイレクト メソッドの応答でモジュール ログを取得します。
  • UploadModuleLogs: モジュール ログを取得し、Azure Blob Storage にアップロードします。
  • UploadSupportBundle: サポート バンドルを使用してモジュール ログを取得し、zip ファイルを Azure Blob Storage にアップロードします。
  • GetTaskStatus: アップロード ログまたはサポート バンドル要求の状態を確認します。

これらの診断ダイレクト メソッドは、1.0.10 リリース以降で利用できます。

次のステップ

IoT Edge エージェントと IoT Edge ハブのモジュール ツインのプロパティ