適用於:
IoT Edge 1.5
重要
IoT Edge 1.5 LTS 是 支援的版本。 自 2024 年 11 月 12 日起,IoT Edge 1.4 LTS 已結束生命週期。 如果您是舊版,請參閱更新 IoT Edge。
使用商業規則建立 Azure IoT Edge 模組之後,請將其部署至您的裝置,以在邊緣運作。 如果多個模組一起運作以收集和處理數據,請一次全部部署。 同時宣告連接它們的路由規則。
Azure CLI 是開放原始碼的跨平臺命令行工具,可用來管理 Azure 資源,例如 IoT Edge。 它可讓您直接管理 Azure IoT 中樞資源、裝置布建服務實例,以及連結中樞。 新的IoT擴充功能會使用裝置管理和完整的IoT Edge功能等功能來擴充 Azure CLI。
本文說明如何建立 JSON 部署指令清單,並使用該檔案將部署推送至 IoT Edge 裝置。 如需根據裝置共用標籤,建立目標為多個裝置的部署資訊,請參閱大規模部署和監視 IoT Edge 模組。
必要條件
Azure 訂用帳戶中的 IoT 中樞。
IoT Edge 裝置
如果您沒有設定IoT Edge裝置,請在 Azure 虛擬機中建立一個。 請遵循其中一篇快速入門文章中的步驟來 建立虛擬Linux裝置 或 建立虛擬 Windows 裝置。
您環境中的 Azure CLI。 您的 Azure CLI 版本必須是 2.0.70 或更高版本。 使用
az --version來檢查。 此版本支援 az extension 命令,並使用 Knack 命令架構。
設定部署資訊清單
部署資訊清單為 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]
裝置識別碼參數會區分大小寫。 內容參數會指向您已儲存的部署資訊清單檔案。
在裝置上檢視模組
將模組部署至裝置後,您可以使用下列命令檢視所有模組:
在您的 IoT Edge 裝置上檢視模組:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
裝置識別碼參數會區分大小寫。
下一步
了解如何大規模部署和監視 IoT Edge 模組 (英文)