分享方式:


使用內建的直接方法與 EdgeAgent 通訊

適用於: 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 代理程式模組中包含的直接方法,監視並管理 IoT Edge 的部署。 您可以在裝置上實作直接方法,然後從雲端叫用。 IoT Edge 代理程式包含直接方法,有助您遠端監視和管理 IoT Edge 裝置。

如需直接方法、如何使用及在自己的模組中實作直接方法的詳細資訊,請參閱了解並從 IoT 中樞叫用直接方法

這些直接方法的名稱不需區分大小寫。

Ping

偵測方法可用於檢查裝置上是否執行 IoT Edge,或裝置是具有 IoT 中樞的開放連線。 使用此直接方法偵測 IoT Edge 代理程式,並取得代理程式的狀態。 成功的偵測會傳回空承載和 "status": 200

例如:

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

在 Azure 入口網站中,使用方法名稱 ping 和空 JSON 承載 {} 來叫用方法。

顯示如何在 Azure 入口網站中叫用直接方法 Ping 的螢幕擷取畫面。

重新啟動模組

RestartModule 方法允許對於 IoT Edge 裝置上執行的模組進行遠端管理。 如果模組回報失敗狀態或其他狀況不良的行為,您可以觸發 IoT Edge 代理程式以將其重新開機。 成功的重新啟動命令會傳回空承載和 "status": 200

您可以在 IoT Edge 1.0.9 版和更新版本中取得 RestartModule 方法。

提示

Azure 入口網站中的 IoT Edge 疑難排解頁面,提供重新啟動模組的簡化體驗。 如需詳細資訊,請參閱從 Azure 入口網站監視 IoT Edge 裝置並進行疑難排解

您可以在 IoT Edge 裝置上執行的任何模組,包括 edgeAgent 模組本身,使用 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 入口網站中,使用方法名稱 RestartModule 和下列 JSON 承載,叫用方法:

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

顯示如何在 Azure 入口網站中叫用直接方法 RestartModule 的螢幕擷取畫面。

診斷直接方法

  • GetModuleLogs:在直接方法的回應中,擷取內嵌的模組記錄。
  • UploadModuleLogs:擷取模組記錄,並將其上傳至 Azure Blob 儲存體。
  • UploadSupportBundle:使用支援套件組合擷取模組記錄,並上傳 ZIP 檔案至 Azure Blob 儲存體。
  • GetTaskStatus:檢查上傳記錄或支援套件組合要求的狀態。

這些診斷直接方法從 1.0.10 版本開始可用。

下一步

IoT Edge 代理程式和 IoT Edge 中樞模組對應項的屬性