組み込みのダイレクト メソッドを使用して edgeAgent と通信する
適用対象: IoT Edge 1.5
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 エージェント モジュールに含まれているダイレクト メソッドを使用して 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 ペイロード {}
を指定してメソッドを呼び出します。
モジュールの再起動
RestartModule メソッドを使用すると、IoT Edge デバイスで実行されているモジュールをリモート管理できます。 モジュールでエラー状態またはその他の異常な動作が報告されている場合は、IoT Edge エージェントをトリガーしてそのモジュールを再起動することができます。 再起動コマンドが成功すると、空のペイロードと "status": 200 が返されます。
RestartModule メソッドは IoT Edge バージョン 1.0.9 以降で使用できます。
ヒント
Azure portal の IoT Edge のトラブルシューティング ページは、モジュールを表示するための簡単なエクスペリエンスを提供します。 詳細については、「Azure portal から IoT Edge デバイスを監視およびトラブルシューティングする」を参照してください。
RestartModule ダイレクト メソッドは、IoT Edge デバイスで実行されているモジュール (edgeAgent モジュール自体を含む) で使用できます。 ただし、このダイレクト メソッドを使用して 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 で、メソッド名 RestartModule
と次の JSON ペイロードを指定してメソッドを呼び出します。
{
"schemaVersion": "1.0",
"id": "<module name>"
}
診断ダイレクト メソッド
- GetModuleLogs:ダイレクト メソッドの応答でモジュール ログをインラインで取得します。
- UploadModuleLogs: モジュール ログを取得し、Azure Blob Storage にアップロードします。
- UploadSupportBundle: サポート バンドルを使用してモジュール ログを取得し、zip ファイルを Azure Blob Storage にアップロードします。
- GetTaskStatus: ログのアップロードまたはサポート バンドルの要求の状態を確認します。
これらの診断ダイレクト メソッドは、1.0.10 リリース以降で利用できます。