使用 Azure CLI 部署 Azure IoT Edge 模組

適用於: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

使用商業規則建立 Azure IoT Edge 模組之後,您想要將它們部署到裝置,以在邊緣運作。 如果您有多個模組一起收集及處理數據,則可以一次部署全部。 您也可以宣告連線它們的路由規則。

Azure CLI 是開放原始碼的跨平臺命令行工具,可用來管理 Azure 資源,例如 IoT Edge。 它可讓您管理 Azure IoT 中樞 資源、裝置布建服務實例,以及現用的鏈接中樞。 新的IoT延伸模組會使用裝置管理和完整的IoT Edge功能等功能擴充 Azure CLI。

本文說明如何建立 JSON 部署指令清單,然後使用該檔案將部署推送至 IoT Edge 裝置。 如需根據共用標籤建立以多個裝置為目標的部署的相關信息,請參閱 大規模部署和監視IoT Edge模組

必要條件

設定部署資訊清單

部署資訊清單為 JSON 文件,說明應部署的模組、資料如何在模組之間流動,以及想要的模組對應項需要的屬性。 如需部署指令清單如何運作以及如何建立它們的詳細資訊,請參閱 瞭解如何使用、設定及重複使用IoT Edge模組。

若要使用 Azure CLI 部署模組,請將部署指令清單儲存為.json檔案。 當您執行 命令以將組態套用至您的裝置時,請使用下一節中的檔案路徑。

以下是一個模組作為範例的基本部署指令清單:

注意

此範例部署指令清單會針對IoT Edge代理程式和中樞使用架構1.1版。 架構 1.1 版與 IoT Edge 1.0.10 版一起發行,並啟用模組啟動順序和路由優先順序等功能。

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

部署至您的裝置

藉由套用您使用模組資訊設定的部署指令清單,即可將模組部署至您的裝置。

將目錄變更為您儲存部署指令清單的資料夾。 如果您使用其中一個 Visual Studio Code IoT Edge 範本,請使用 deployment.json 方案目錄的 config 資料夾中的 檔案,而不是 deployment.template.json 檔案。

使用下列命令將設定套用至 IoT Edge 裝置:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

裝置識別子參數會區分大小寫。 content 參數會指向您儲存的部署指令清單檔案。

顯示 az iot edge set-modules 命令行輸出的螢幕快照。

檢視裝置上的模組

將模組部署至裝置之後,您可以使用下列命令來檢視所有模組:

檢視 IoT Edge 裝置上的模組:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

裝置識別子參數會區分大小寫。

顯示 az iot hub module-identity list 命令輸出的螢幕快照。

下一步

瞭解如何 大規模部署和監視IoT Edge模組