共用方式為


使用內建的直接方法與 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

Ping 方法適用於檢查 IoT Edge 是否在裝置上執行,或裝置是否有開啟的連線來 IoT 中樞。 使用此直接方法來 Ping IoT Edge 代理程式並取得其狀態。 成功的 Ping 會傳回空白承載和 「狀態」: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 代理程式來重新啟動它。 成功的重新啟動命令會傳回空的承載和 「狀態」:200

RestartModule 方法適用於IoT Edge 1.0.9版和更新版本。

提示

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

您可以在IoT Edge裝置上執行的任何模組上使用 RestartModule 直接方法,包括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 入口網站 中,使用方法名稱和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 中樞模組對應項的屬性