View a markdown version of this page

更新 AWS IoT Greengrass 核心軟體 (OTA) - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新 AWS IoT Greengrass 核心軟體 (OTA)

AWS IoT Greengrass 核心軟體包含 Greengrass 核元件和其他選用元件,您可以將這些元件部署到您的裝置,以執行軟體的over-the-air(OTA) 更新。此功能內建於 AWS IoT Greengrass 核心軟體。

OTA 更新可讓您更有效率地執行下列作業:

  • 修復安全漏洞。

  • 解決軟體穩定性問題。

  • 部署新功能和改良的功能。

要求

下列需求適用於部署 AWS IoT Greengrass 核心軟體的 OTA 更新:

  • Greengrass 核心裝置必須連線至 AWS 雲端 才能接收部署。

  • Greengrass 核心裝置必須正確設定和佈建憑證和金鑰,以便使用 AWS IoT Core 和 進行身分驗證 AWS IoT Greengrass。

  • AWS IoT Greengrass 核心軟體必須設定為系統服務並執行。如果您從 JAR 檔案 執行核心,OTA 更新將無法運作Greengrass.jar。如需詳細資訊,請參閱將 Greengrass 核設定為系統服務

核心裝置的考量事項

執行 OTA 更新之前,請注意您更新的核心裝置及其連線用戶端裝置的影響:

  • Greengrass 核會關閉。

  • 在核心裝置上執行的所有元件也會關閉。如果這些元件寫入本機資源,它們可能會讓這些資源處於不正確狀態,除非正確關閉。元件可以使用程序間通訊來指示 nucleus 元件延遲更新,直到清除其使用的資源為止。

  • 當核心元件關閉時,核心裝置會失去與 AWS 雲端 和本機裝置的連線。關閉時,核心裝置不會從用戶端裝置路由訊息。

  • 做為元件執行的長期 Lambda 函數會遺失其動態狀態資訊,並捨棄所有待處理的工作。

Greengrass 核更新行為

部署元件時, 會 AWS IoT Greengrass 安裝該元件所有相依性的最新支援版本。因此,如果您將新裝置新增至物件群組,或更新以這些裝置為目標的部署,則可能會自動將新修補程式版本的 AWS公有元件部署到您的核心裝置。有些自動更新,例如核更新,可能會導致您的裝置意外重新啟動。

Greengrass 核心元件的版本變更時,包含您裝置上的核心和所有其他元件的 AWS IoT Greengrass Core 軟體會開始套用變更。由於更新核心元件時對核心裝置的影響,您可能會想要控制何時將新的核心修補程式版本部署至您的裝置。若要這樣做,您必須在部署中直接包含 Greengrass 核元件。直接包含元件表示您在部署組態中包含該元件的特定版本,且不依賴元件相依性將該元件部署到您的裝置。如需在元件配方中定義相依性的詳細資訊,請參閱 配方格式

重要

Core AWS IoT Greengrass 軟體會忽略引導部署的失敗處理政策。引導部署會更新 Greengrass 核版本,或包含具有引導生命週期步驟的元件。如果核心更新失敗, AWS IoT Greengrass 核心軟體會將核心裝置復原為其先前的組態。即使您將失敗處理政策設定為 ,也會發生轉返DO_NOTHING。此行為會在更新失敗後讓核心裝置保持運作狀態。如需詳細資訊,請參閱建立部署

檢閱下表,根據您的動作和部署組態,了解 Greengrass 核元件的更新行為。

Action Deployment configuration (部署組態) Nucleus 更新行為
將新裝置新增至現有部署以目標為目標的物件群組,而不修改部署。

部署不會直接包含 Greengrass 核。

部署直接包含至少一個 AWS提供的元件,或包含取決於 AWS提供的元件或 Greengrass 核的自訂元件。

在新裝置上, 會安裝符合所有元件相依性需求的最新 核心修補程式版本。

在現有裝置上, 不會更新已安裝的 核心版本。
將新裝置新增至現有部署以目標為目標的物件群組,而不修改部署。

部署直接包含 Greengrass 核的特定版本。

在新裝置上, 安裝指定的 nucleus 版本。

在現有裝置上, 不會更新已安裝的 核心版本。

建立新的部署或修改現有的部署。

部署不會直接包含 Greengrass 核。

部署直接包含至少一個 AWS提供的元件,或包含取決於 AWS提供的元件或 Greengrass 核的自訂元件。

在所有目標裝置上, 會安裝符合所有元件相依性需求的最新 核心修補程式版本,包括您新增至目標物件群組的任何新裝置上。
建立新的部署或修改現有的部署。 部署直接包含 Greengrass 核的特定版本。 在所有目標裝置上, 安裝指定的核版本,包括您新增至目標物件群組的任何新裝置。

執行 OTA 更新

若要執行 OTA 更新,請建立包含核心元件和要安裝之版本的部署Greengrass 核