將更新匯入至適用於 IoT 中樞的 Azure 裝置更新
本文內容
若要使用適用於 IoT 中樞 的 Azure 裝置更新將更新部署至裝置,請先將更新檔案匯入裝置更新服務,以儲存已匯入的更新以部署至裝置。 在本文中,您將瞭解如何使用 Azure 入口網站、Azure CLI 或裝置更新 API,將更新匯入裝置更新服務。
必要條件
使用IoT中樞 設定的裝置更新帳戶和實例。
針對IoT中樞內的裝置更新布建的IoT裝置或模擬器 。
更新裝置的檔案,以及依照準備更新以匯入裝置更新中的 指示建立的相關聯匯入指令清單檔案。
要保存匯入檔案的 Azure 儲存體 帳戶和容器。 或者,您可以建立新的記憶體帳戶和容器,作為 Azure 入口網站 型匯入程式的一部分。
重要
請確定您使用或建立的記憶體帳戶未啟用私人端點。 若要查看私人端點是否已啟用,您可以在 Private Link 中心的私人端點 底下 檢查 Azure 儲存體 帳戶名稱。
支援的瀏覽器Microsoft Edge 或 Google Chrome。
提示
本文中的 Azure CLI 命令會使用反斜杠 \ 字元進行行接續,讓命令自變數更容易閱讀。 此語法適用於 Bash 環境。 如果您在 PowerShell 中執行這些命令,請將每個反斜杠取代為反引號 ',或完全移除它們。
匯入更新
本節說明如何使用 Azure 入口網站或 Azure CLI 匯入更新。 您也可以 改用裝置更新 API 來匯入更新。
若要匯入更新,請先將更新上傳併匯入指令清單檔案至 Azure 儲存體 容器。 然後,您會將更新從 Azure 儲存體 匯入裝置更新,以進行 IoT 中樞,以將更新儲存至裝置。
在 [Azure 入口網站] 中,於裝置更新實例的 [IoT 中樞] 頁面上,從左側導覽中選取 [裝置管理> 更新]。
在 [ 更新] 頁面上,選取 [ 匯入新的更新 ]。
在 [匯入更新] 頁面上,選取 [從記憶體容器選取 ]。
在 [ 記憶體帳戶 ] 頁面上,選取現有的記憶體帳戶,或選取 [儲存體帳戶] 來建立新的帳戶 。 您可以使用容器的記憶體帳戶來暫存更新檔案。
在 [ 容器] 頁面上,選取現有的容器,或選取 [容器] 來建立新的容器 。 您可以使用容器來暫存更新檔案以進行匯入。
提示
每次匯入更新時,使用新的容器有助於防止意外從先前的更新匯入檔案。 如果您未使用新的容器,請務必從現有的容器中刪除任何先前的檔案。
在容器頁面上,選取 [ 上傳 ]。
在 [上傳 Blob ] 畫面上,選取 [檔案] 旁 的文件夾圖示。 使用檔案選擇器流覽至更新和匯入指令清單檔案的位置,選取檔案,然後選取 [ 開啟 ]。 您可以使用 Shift 鍵來多重選取檔案。
選取所有檔案之後,請選取 [ 上傳 ]。
上傳之後,檔案會出現在容器頁面上。 在容器頁面上,檢閱並選取要匯入的檔案,然後選取 [選取 ]。
在 [ 匯入更新] 畫面上,選取 [ 匯入更新 ]。
匯入程式隨即開始,畫面會切換至 [ 更新] 畫面。 匯入成功之後,它會出現在 [ 更新] 索引標籤上。若要解決任何錯誤,請參閱 Proxy 更新疑難解答 。
az iot du update stage 命令處理匯入更新的必要步驟,包括將更新檔案上傳至目標儲存體容器。 選擇性旗標也可讓此命令在準備檔案之後自動匯入檔案。 否則,az iot du update import 命令會完成該程序。
stage
命令採用下列引數:
--account
:裝置更新帳戶名稱。
--instance
:裝置更新執行個體名稱。
--manifest-path
:要暫存之匯入指令清單的檔案路徑。
--storage-account
:要暫存更新的記憶體帳戶名稱。
--storage-container
:要暫存更新的所選取記憶體帳戶內的容器名稱。
--overwrite
:選擇性旗標,指出如果發生衝突,是否要覆寫儲存體容器中的現有 Blob。
--then-import
:選擇性旗標,指出是否在暫存更新之後將更新匯入至裝置更新。
az iot du update stage \
--account <Replace with your Device Update account name> \
--instance <Replace with your Device Update instance name> \
--manifest-path <Replace with the full path to your import manifest> \
--storage-account <Replace with your Storage account name> \
--storage-container <Replace with your container name> \
--overwrite --then-import
例如:
az iot du update stage \
--account deviceUpdate001 \
--instance myInstance \
--manifest-path /my/apt/manifest/file.importmanifest.json \
--storage-account deviceUpdateStorage \
--storage-container deviceUpdateDemo \
--overwrite --then-import
您可以在單一命令中包含多個匯入指令清單。 例如:
az iot du update stage \
--account deviceUpdate001 \
--instance myInstance \
--manifest-path /my/apt/manifest/parent.importmanifest.json \
--manifest-path /my/apt/manifest/child1.importmanifest.json \
--manifest-path /my/apt/manifest/child2.importmanifest.json \
--storage-account deviceUpdateStorage \
--storage-container deviceUpdateDemo \
--overwrite --then-import
如果您未使用 --then-import
旗標,命令的 stage
輸出會包含提示,以使用預先填入的自變數執行 az iot du update import 。
使用 az iot du update list 確認您的更新已成功匯入。
az iot du update list \
--account <Replace with your Device Update account name> \
--instance <Replace with your Device Update instance name> \
-o table
使用裝置更新 API 匯入
您也可以使用下列任一方法,以程式設計方式匯入更新:
更新檔案和匯入指令清單必須上傳至 Azure 儲存體 Blob 容器以進行預備。 若要匯入分段的檔案,請將 Blob URL 或私人 Blob 的共用存取簽章 (SAS) 提供給裝置更新 API。 如果使用 SAS,請務必提供三個小時以上的到期時間範圍。
提示
若要將大型更新檔案上傳至 Azure 儲存體 Blob 容器,您可以使用下列其中一種方法來提升效能:
相關內容