本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新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 文件運行核,
Greengrass.jar
則 OTA 更新不起作用。如需詳細資訊,請參閱 將 Greengrass 核配置為系統服務。
核心裝置的注意事項
在執行 OTA 更新之前,請注意對您更新的核心設備及其連接的客戶端設備的影響:
-
Greengrass 核關閉。
-
核心裝置上執行的所有元件也會關閉。如果這些元件寫入本機資源,除非正確關閉,否則可能會讓這些資源處於不正確的狀態。元件可以使用處理序間通訊,告知核心元件延遲更新,直到清除其使用的資源為止。
-
核心元件關閉時,核心裝置會失去與AWS 雲端和本機裝置的連線。核心裝置在關機時不會從用戶端裝置路由傳送訊息。
-
以元件執行的長壽命 Lambda 函數會遺失其動態狀態資訊,並捨棄所有擱置中的工作。
Greengrass 核更新行為
當您部署元件時,AWS IoT Greengrass會安裝該元件所有相依性的最新受支援版本。因此,如果您將新裝置新增至物件群組,或更新以這些裝置為目標的部署,則AWS提供之公用元件的新修補程式版本可能會自動部署到核心裝置。某些自動更新 (例如核心更新) 可能會導致裝置意外重新啟動。
當 Greengrass 核心元件的版本變更時,核AWS IoT Greengrass心軟體 (包括核心和裝置上的所有其他元件) 會重新啟動以套用變更。由於核心元件更新時會對核心裝置造成影響,因此您可能想要控制新的核心修補程式版本何時部署到您的裝置。若要這麼做,您必須在部署中直接包含 Greengrass 核心元件。直接包含元件表示您在部署組態中包含該元件的特定版本,而且不需要依賴元件相依性將該元件部署到您的裝置。如需有關在元件配方中定義相依性的詳細資訊,請參閱食譜格式。
檢閱下表,瞭解 Greengrass 核心元件的更新行為,根據您的動作和部署設定。
動作 | 部署組態 | 核更新行為 |
---|---|---|
在不修訂部署的情況下,將新設備新增至現有部署目標的物群組。 | 該部署不直接包括 Greengrass 核。 部署直接包含至少一個AWS提供的元件,或包含依賴於AWS提供的元件或 Greengrass 核心的自訂元件。 |
在新裝置上,安裝符合所有元件相依性需求的最新修補程式版本的核心。 在現有設備上,不會更新核的已安裝版本。 |
在不修訂部署的情況下,將新設備新增至現有部署目標的物群組。 |
部署直接包括 Greengrass 核的特定版本。 |
在新裝置上,安裝指定的核心版本。 在現有設備上,不會更新核的已安裝版本。 |
建立新部署或修訂既有部署。 | 該部署不直接包括 Greengrass 核。 部署直接包含至少一個AWS提供的元件,或包含依賴於AWS提供的元件或 Greengrass 核心的自訂元件。 |
在所有目標裝置上,安裝最新的核心修補程式版本,以符合所有元件相依性需求,包括在您新增至目標物件群組的任何新裝置上。 |
建立新部署或修訂既有部署。 | 部署直接包括 Greengrass 核的特定版本。 | 在所有目標裝置上,安裝指定的核心版本,包括您新增至目標物件群組的任何新裝置。 |
執行 OTA 更新
若要執行 OTA 更新,請建立包含核心元件和要安裝的版本的部署。