使用適用於 IoT 中樞的 Azure 裝置更新來部署更新
本文內容
在本文中,您將瞭解如何使用 Azure 入口網站 或 Azure CLI 中的 IoT 中樞 Azure 裝置更新,將更新部署至 IoT 裝置。
必要條件
部署更新
本節說明如何使用 Azure 入口網站 或 Azure CLI 來部署更新。
在 Azure 入口網站 中,瀏覽至您的 IoT 中樞。
在左側導覽的 [裝置管理] 下,選取 [更新 ]。
在 [ 更新] 頁面上,選取 [ 群組和部署] 索引 卷標,然後檢視 更新合規性圖表 和 裝置群組清單 。 您可能需要重新整理檢視,才能查看裝置群組最近匯入的更新。
在群組清單中的 [狀態] 下,選取 [一或多個新的更新可供此群組使用] 旁 的 [部署 ]。
檢視更新合規性圖表和群組清單。 您應該會看到有新的更新可用於標記型或預設群組。 您可能需要再次重新整理。 如需詳細資訊,請參閱裝置更新合規性 。
選取一或多個可用的更新狀態旁的 [部署 ]。
從右側清單中,選取要部署的所需更新。
排程您的部署,以立即或在未來啟動。
提示
根據預設,開始 日期和時間是目前時間起算 24 小時。 如果您想要更快或更新版本開始部署,請務必選取不同的日期和時間。
視需要建立自動復原原則。 然後選取建立 。
在 [ 目前更新] 索引標籤中,您可以檢視部署的狀態。
在 [ 群組基本概念] 檢視中,合規性圖表會顯示更新目前正在進行中。
裝置成功更新之後,您的合規性圖表和部署詳細數據會更新以反映該狀態。
您可以使用 Azure Cloud Shell 中的 Bash 環境來執行下列命令。 選取 [啟動 Cloud Shell] 以開啟 Cloud Shell ,或選取 Azure 入口網站 頂端工具列中的 Cloud Shell 圖示。
或者,如果您想要的話,您可以在本機執行 Azure CLI 命令:
安裝 Azure CLI 。 執行 az version 以查看已安裝的 Azure CLI 版本和相依連結庫,然後執行 az upgrade 以安裝最新版本。
執行 az login 以登入 Azure。
azure-iot
第一次使用時出現提示時,請安裝擴充功能。 若要確定您使用的是最新版本的擴充功能,請執行 az extension update --name azure-iot
。
提示
本文中的 Azure CLI 命令會使用反斜杠 \ 字元進行行接續,讓命令自變數更容易閱讀。 此語法適用於 Bash 環境。 如果您在 PowerShell 中執行這些命令,請將每個反斜杠取代為反引號 ',或完全移除它們。
確認更新可用性
az iot du device group list
使用 命令來識別您的裝置群組。
az iot du device group list \
--account <Device Update account name> \
--instance <Device Update instance name>\
az iot du device group show
然後使用 來顯示群組的最佳可用更新。 該 命令採用下列引數:
--account
:裝置更新帳戶名稱。
--instance
:裝置更新執行個體名稱。
--group-id
:您以此部署為目標的 ADUGroup
裝置群組標識符,也就是標籤的值,或是 $default
沒有標籤的裝置。
--resource-group
:裝置更新帳戶資源組名。
--best-updates
:傳回裝置群組的最佳可用更新,包括每個更新需要多少個裝置計數。
--update-compliance
:傳回裝置群組更新合規性資訊,例如其最新更新上的裝置數目、需要新的更新數目,以及目前接收新更新的裝置數目。
若要確認群組的最佳可用更新,請執行 命令,如下所示:
az iot du device group show \
--account <Device Update account name> \
--instance <Device Update instance name>\
--group-id <device group ID>\
--best-updates
建立部署
用來 az iot du device deployment create
建立裝置群組的部署。 該 命令採用下列引數:
--account
:裝置更新帳戶名稱。
--instance
:裝置更新執行個體名稱。
--group-id
:您以此部署為目標的 ADUGroup
裝置群組標識符,也就是標籤的值,或是 $default
沒有標籤的裝置。
--deployment-id
:用來識別此部署的識別碼。
--update-name
、 --update-provider
和 --update-version
:定義 updateId
物件的參數,此部署中更新的唯一標識符。
如下所示執行 命令:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version>
使用選擇性自變數
選擇性自變數可讓您進一步設定部署。 如需選擇性自變數的完整清單,請參閱 選擇性參數 。
若要建立自動回復原則,請新增下列參數:
--failed-count
:部署中觸發復原的失敗裝置數目。
--failed-percentage
:部署中觸發復原的失敗裝置百分比。
--rollback-update-name
、 、 --rollback-update-provider
--rollback-update-version
:如果起始復原,則更新所使用的參數。
如下所示執行 命令:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--failed-count 10 \
--failed-percentage 5 \
--rollback-update-name <rollback update name> \
--rollback-update-provider <rollback update provider> \
--rollback-update-version <rollback update version>
若要設定部署開始時間,請使用 --start-time
參數來提供部署的目標日期和時間,如下所示:
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id> \
--deployment-id <deployment id> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--start-time "2022-12-20T01:00:00"
監視部署狀態
在 [更新] 頁面的 [群組和部署] 索引 標籤上,選取您部署的群組。
在 [ 群組詳細數據] 頁面上,移至 [ 目前部署 ] 或 [部署歷程記錄 ] 索引卷標,以確認部署正在進行中。
選取 部署旁邊的 [詳細數據 ],以檢視部署詳細數據、更新詳細數據和目標裝置類別詳細數據。 您可以選擇性地新增裝置類別的易記名稱。
選取 [重新整理] 以檢視最新狀態詳細資料。
移至 [群組詳細數據] 頁面的 [群組基本概念 ] 索引標籤,以搜尋特定裝置的狀態,或篩選以檢視部署失敗的裝置。
使用 az iot du device deployment list 來檢視裝置群組的所有部署。
az iot du device deployment list \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id>
使用 az iot du device deployment show 來檢視特定部署的詳細資料。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID>
新增 --status
旗標,以傳回部署中有多少裝置正在進行、已完成或失敗的資訊。
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--status
重試更新部署
如果您的部署失敗,您可以重試失敗裝置的部署。
移至 [群組詳細資料] 畫面上的 [目前部署] 索引標籤。
選取 [重試失敗裝置] ,並認可確認通知。
使用 az iot du device deployment retry 來重試裝置的目標子群組部署。
此命令會採用 --class-id
引數,這是透過裝置更新代理程式所回報的模型識別碼和相容性屬性來產生。
az iot du device deployment retry \
--account <Device Update account name> \
--instance <Device Update instance name> \
--deployment-id <deployment ID> \
--group-id <device group ID> \
--class-id <device class ID>
相關內容