使用裝置更新部署更新以進行 Azure IoT 中樞
在此文章
瞭解如何使用適用於 Azure IoT 中樞 的裝置更新,將更新部署至IoT裝置。
必要條件
Azure CLI 環境:
提示
本文中的 Azure CLI 命令會使用反斜杠 \
字元進行行接續,讓命令自變數更容易閱讀。 此語法適用於Bash環境。 如果您在 PowerShell 中執行這些命令,請以反引號 ''' 取代每個反斜杠,或完全移除它們。
部署更新
在 Azure 入口網站 中,瀏覽至您的 IoT 中樞。
從導覽功能表中選取 更新 ,以開啟 IoT 中樞 實例的 [裝置更新 ] 頁面。
選取頁面頂端的 [ 群組和部署] 索引 標籤。 如需詳細資訊,請參閱 裝置群組 。
檢視更新合規性圖表和群組清單。 您應該會看到新的更新可供標記型或預設群組使用。 您可能需要重新整理一次。 如需詳細資訊,請參閱 裝置更新合規性 。
選取一或多個可用的更新旁 的 [部署],並確認您在匯入時新增的描述性標籤存在且看起來正確。
確認已選取正確的群組作為目標群組,然後選取 [ 部署 ]。
若要開始部署,請移至 [目前部署 ] 索引標籤。從 [可用更新 ] 區段選取所需更新旁的 [部署 ] 連結。 指定群組的最佳可用更新會以 最佳 醒目提示表示。
排程您的部署,以立即或在未來啟動。
提示
根據預設, 開始日期 和時間會設定為 [立即]。 如果您想要稍後開始部署,請務必選取不同的日期和時間。
視需要建立自動回復原則。 然後選取建立 。
在部署詳細數據中,狀態會變成 [作用中 ]。 已部署的更新會標示為 [部署]。
檢視合規性圖表,以查看更新目前正在進行中。
成功更新裝置之後,您會看到合規性圖表和部署詳細數據已更新以反映相同。
az iot du device group list
,確認群組的最佳可用更新。 該 命令採用下列引數:
--account
:裝置更新帳戶名稱。
--instance
:裝置更新實例名稱。
--group-id
:您以此部署為目標的裝置群組標識符。 此標識碼是ADUGroup標籤, 或$default
針對沒有標記的裝置。
--best-updates
:此旗標表示命令應該擷取裝置群組的最佳可用更新,包括每個更新需要多少裝置計數。
'--resource-group -g':裝置更新帳戶資源組名。
'--update-compliance':此旗標指出命令應該擷取裝置群組更新合規性資訊,例如其最新更新上的裝置數目、需要多少新更新,以及接收新更新時有多少裝置正在進行中。
az iot du device group list \
--account <Device Update account name> \
--instance <Device Update instance name>\
--gid <device group id>\
--best-updates {false, true}
使用 az iot du device deployment create 建立裝置群組的部署。
該 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
如果起始復原,裝置群組將使用之更新的 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 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>
下一步
疑難排解常見問題