共用方式為


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

適用於:IoT Edge 1.5 檢查標記 IoT Edge 1.5

重要

IoT Edge 1.5 LTS 是 支援的版本。 自 2024 年 11 月 12 日起,IoT Edge 1.4 LTS 已結束生命週期。 如果您是舊版,請參閱更新 IoT Edge

使用 IoT Edge 代理程式模組中的直接方法監視和管理 IoT Edge 部署。 直接方法會在裝置上實作,而且可以從雲端叫用。 IoT Edge 代理程式包含遠端監視和管理 IoT Edge 裝置的直接方法。

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

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

Ping 方法會檢查 IoT Edge 是否在裝置上執行,或裝置是否有與 IoT 中樞的開啟連線。 使用此方法來偵測 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 代理程式重新啟動它。 成功的重新啟動命令會傳回具有 「status」 的空承載: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 中樞模組對應項的屬性