Greengrass 核 - AWS IoT Greengrass

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

Greengrass 核

Greengrass 核組件(aws.greengrass.Nucleus)是一個強制性組件,也是在設備上運行 AWS IoT Greengrass 核心軟件的最低要求。您可以將此元件設定為遠端自訂和更新您的 AWS IoT Greengrass Core 軟體。部署此元件以在核心裝置上設定 Proxy、裝置角色和 AWS IoT 物件組態等設定。

重要

當核心元件的版本變更時,或當您變更某些組態參數時, AWS IoT Greengrass Core 軟體 (包括核心和裝置上的所有其他元件) 會重新啟動以套用變更。

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

若要避免對裝置上執行的元件進行意外更新,建議您在建立部署時直接包含該元件的偏好版本。如需有關 AWS IoT Greengrass Core 軟體更新行為的詳細資訊,請參閱更新AWS IoT Greengrass核心軟件(OTA)

版本

此元件具有下列版本:

  • 2.12.x

  • 2.11.x

  • 2.10.x

  • 2.9.x

  • 2.8.x

  • 2.7.x

  • 2.6.x

  • 2.5.x

  • 2.4.x 版本

  • 2.3.x 版本

  • 2.2.x 版本

  • 2.1.x

  • 2.0.x

作業系統

此元件可安裝在執行下列作業系統的核心裝置上:

  • Linux

  • Windows

如需詳細資訊,請參閱 支援平台

需求

設備必須滿足某些要求才能安裝和運行 Greengrass 核心和核心軟件。 AWS IoT Greengrass 如需詳細資訊,請參閱 裝置要求

支援在 VPC 中執行的 Greengrass 核元件。若要在 VPC 中部署此元件,需要下列項目。

  • Greengrass 核元件必須具有與 AWS IoT data、 AWS IoT 登入資料和 Amazon S3 的連線能力。

相依性

Greengrass 核不包括任何組件依賴關係。但是,幾個 AWS提供的組件包括細胞核作為依賴關係。如需詳細資訊,請參閱 AWS-提供的組件

如需有關元件相依性的詳細資訊,請參閱元件方案參考

下載與安裝

您可以下載在設備上設置 Greengrass 核組件的安裝程序。此安裝程序將您的設備設置為 Greengrass 核心設備。您可以執行兩種類型的安裝:為您建立必要 AWS 資源的快速安裝,或是您自行建立 AWS 資源的手動安裝。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體

您還可以按照教程安裝 Greengrass 核並探索 Greengrass 組件的開發。如需詳細資訊,請參閱 教學課程:AWS IoT Greengrass V2 入門

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。某些參數需要重新啟動 AWS IoT Greengrass Core 軟體才能生效。如需設定此元件的原因和方式的詳細資訊,請參閱設定 AWS IoT Greengrass 核心軟體

iotRoleAlias

指向權杖交換 IAM AWS IoT 角色的角色別名。 AWS IoT 認證提供者會擔任此角色,以允許 Greengrass 核心裝置與服務互動。 AWS 如需詳細資訊,請參閱 授權核心裝置與 AWS 服務互動

當您使用--provision true選項執行 AWS IoT Greengrass Core 軟體時,軟體會提供角色別名,並在核心元件中設定其值。

interpolateComponentConfiguration

(選擇性) 您可以啟用 Greengrass 核來插入零組件模型組態中的零組件方案變數,並合併模型組態更新。我們建議您將此選項設定為,以true便核心裝置可以執行在其組態中使用 recipe 變數的 Greengrass 元件。

此功能適用於此元件的 v2.6.0 及更新版本。

預設:false

networkProxy

(選擇性) 用於所有連線的網路 Proxy。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

重要

當您將變更部署到此組態參數時, AWS IoT Greengrass 核心軟體會重新啟動,變更才會生效。

此物件包含下列資訊:

noProxyAddresses

(選擇性) 以逗號分隔的 IP 位址或主機名稱清單 (不包括 Proxy)。

proxy

要連線的代理伺服器。此物件包含下列資訊:

url

代理伺服器的格式 URL scheme://userinfo@host:port

  • scheme— 該計劃,必須是httphttps

    重要

    核心裝置必須執行 Greengrass 核心 v2.5.0 或更新版本才能使用 HTTPS 代理伺服器。

    如果您設定 HTTPS 代理,則必須將代理伺服器 CA 憑證新增至核心裝置的 Amazon 根 CA 憑證。如需詳細資訊,請參閱 讓核心裝置信任 HTTPS 代理

  • userinfo— (選用) 使用者名稱和密碼資訊。如果您在中指定此資訊url,Greengrass 核心裝置會忽略和欄位usernamepassword

  • host— 代理伺服器的主機名稱或 IP 位址。

  • port— (選擇性) 連接埠號碼。如果您未指定連接埠,則 Greengrass 核心裝置會使用下列預設值:

    • http— 80

    • https— 443

username

(選擇性) 驗證 Proxy 伺服器的使用者名稱。

password

(選擇性) 驗證 Proxy 伺服器的密碼。

mqtt

(可選)Greengrass 核心設備的 MQTT 配置。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

重要

當您將變更部署到此組態參數時, AWS IoT Greengrass 核心軟體會重新啟動,變更才會生效。

此物件包含下列資訊:

port

(選擇性) 用於 MQTT 連線的連接埠。

預設:8883

keepAliveTimeoutMs

(選擇性) 用戶端傳送以維持 MQTT 連線作用中的每PING則訊息之間的時間 (毫秒)。此值必須大於pingTimeoutMs

預設值:60000(60 秒)

pingTimeoutMs

(選擇性) 用戶端等待從伺服器接收PINGACK訊息的時間 (毫秒)。如果等待超過逾時,核心裝置會關閉並重新開啟 MQTT 連線。此值必須小於keepAliveTimeoutMs

預設值:30000(30 秒)

operationTimeoutMs

(選擇性) 用戶端等待 MQTT 作業 (例如CONNECTPUBLISH) 完成的時間量 (以毫秒為單位)。此選項不適用於 MQTT PING 或保持有效訊息。

預設值:30000(30 秒)

maxInFlightPublishes

(選擇性) 可同時傳送中未確認的 MQTT QoS 1 訊息數目上限。

此功能適用於此元件的 v2.1.0 及更新版本。

預設:5

有效範圍:最大值為 100

maxMessageSizeInBytes

(選擇性) MQTT 郵件的大小上限。如果消息超過此大小,Greengrass 核會拒絕帶有錯誤的消息。

此功能適用於此元件的 v2.1.0 及更新版本。

預設值:131072

有效範圍:最大值2621440(2.5 MB)

maxPublishRetry

(選擇性) 重試失敗發佈之郵件的次數上限。您可以指-1定無限次重試。

此功能適用於此元件的 v2.1.0 及更新版本。

預設:100

spooler

(選擇性) Greengrass 核心裝置的 MQTT 多工緩衝處理程式組態。此物件包含下列資訊:

storageType

用於存儲消息的存儲類型。如果storageType設定為Disk,則pluginName可以設定。您可指定為 MemoryDisk

此功能適用於 v2.11.0 及更高版本的核組件。

重要

如果 MQTT 多工緩衝處理程式設定storageType為,Disk且您想要將 Greengrass 核心從 2.11.x 版降級為較早的版本,您必須將組態變更回。MemoryGreengrass 核 2.10.x 版本及更早版本支持的唯一配置是。storageType Memory不遵循此指導可能會導致多工緩衝處理程式中斷。這會導致您的 Greengrass 核心裝置無法將 MQTT 訊息傳送到. AWS 雲端

預設:Memory

pluginName

(選擇性) 外掛程式元件名稱。只有當設定為時,才會使用此元件DiskstorageType此選項預設為,aws.greengrass.DiskSpooler並將使用 Greeng 磁碟後臺解決程式 rass 提供的。

此功能適用於 v2.11.0 及更高版本的核組件。

預設:"aws.greengrass.DiskSpooler"

maxSizeInBytes

(選擇性) 核心裝置將未處理的 MQTT 訊息儲存在記憶體中的快取大小上限。如果快取已滿,則會拒絕新郵件。

預設值:2621440(2.5 MB)

keepQos0WhenOffline

(選擇性) 您可以多工緩衝處理核心裝置離線時收到的 MQTT QoS 0 訊息。如果您將此選項設定為true,核心裝置會多工緩衝處理在離線時無法傳送的 QoS 0 訊息。如果您將此選項設定為false,核心裝置會捨棄這些訊息。核心裝置一律會多工緩衝處理 QoS 1 訊息,除非多工緩衝處理器已滿。

預設:false

version

(選擇性) MQTT 的版本。您可指定為 mqtt3mqtt5

此功能適用於 v2.10.0 及更高版本的核組件。

預設:mqtt5

receiveMaximum

(選擇性) 代理程式可傳送的未確認 QoS1 封包數目上限。

此功能適用於 v2.10.0 及更高版本的核組件。

預設:100

sessionExpirySeconds

(選擇性) 您可以要求從 IoT Core 持續工作階段的時間 (以秒為單位)。預設值為支援的最長時間 AWS IoT Core。

此功能適用於 v2.10.0 及更高版本的核組件。

預設:604800 (7 days)

minimumReconnectDelaySeconds

(選擇性) 用於重新連線行為的選項。MQTT 重新連線的最短時間 (以秒為單位)。

此功能適用於 v2.10.0 及更高版本的核組件。

預設:1

maximumReconnectDelaySeconds

(選擇性) 用於重新連線行為的選項。MQTT 重新連線的時間上限 (以秒為單位)。

此功能適用於 v2.10.0 及更高版本的核組件。

預設:120

minimumConnectedTimeBeforeRetryResetSeconds

(選擇性) 用於重新連線行為的選項。在重試延遲重設回最小值之前,連線必須處於作用中狀態的時間 (秒)。

此功能適用於 v2.10.0 及更高版本的核組件。

預設:30

jvmOptions

(選擇性) 用來執行 AWS IoT Greengrass 核心軟體的 JVM 選項。如需執行 AWS IoT Greengrass Core 軟體之建議 JVM 選項的詳細資訊,請參閱使用 JVM 選項控制內存分配

重要

當您將變更部署到此組態參數時, AWS IoT Greengrass 核心軟體會重新啟動,變更才會生效。

iotDataEndpoint

AWS IoT 您的 AWS 帳戶.

當您使用--provision true選項執行 AWS IoT Greengrass Core 軟體時,軟體會從中取得資料和認證端點, AWS IoT 並將它們設定在核心元件中。

iotCredEndpoint

AWS IoT 您的 AWS 帳戶.

當您使用--provision true選項執行 AWS IoT Greengrass Core 軟體時,軟體會從中取得資料和認證端點, AWS IoT 並將它們設定在核心元件中。

greengrassDataPlaneEndpoint

此功能在 2.7.0 版及更高版本中提供此功能。

如需詳細資訊,請參閱 使用私有 CA 簽署的裝置憑證

greengrassDataPlanePort

此功能在 v2.0.4 及更高版本中提供此元件。

(選擇性) 用於資料平面連線的連接埠。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

重要

您必須指定裝置可以進行輸出連線的連接埠。如果您指定封鎖的連接埠,裝置將無法連線 AWS IoT Greengrass 至接收部署。

您可以從以下選項中選擇:

  • 443

  • 8443

預設:8443

awsRegion

要 AWS 區域 使用的。

runWithDefault

用來執行元件的系統使用者。

重要

當您將變更部署到此組態參數時, AWS IoT Greengrass 核心軟體會重新啟動,變更才會生效。

此物件包含下列資訊:

posixUser

系統使用者的名稱或 ID,以及核心裝置用來執行一般和 Lambda 元件的系統群組 (選擇性)。以下列格式指定使用者和群組,並以冒號 (:) 分隔:user:group。群組為選用項目。如果您未指定群組, AWS IoT Greengrass Core 軟體會使用使用者的主要群組。例如,您可以指定 ggc_userggc_user:ggc_group。如需詳細資訊,請參閱 設定執行元件的使用者

當您使用--component-default-user ggc_user:ggc_group選項執行 AWS IoT Greengrass Core 軟體安裝程式時,軟體會在核心元件中設定此參數。

windowsUser

此功能在此元件的 v2.5.0 及更新版本中提供。

用來在 Windows 核心裝置上執行此元件的 Windows 使用者名稱。使用者必須存在於每個 Windows 核心裝置上,且其名稱和密碼必須儲存在 LocalSystem 帳戶的認證管理員執行個體中。如需詳細資訊,請參閱 設定執行元件的使用者

當您使用--component-default-user ggc_user選項執行 AWS IoT Greengrass Core 軟體安裝程式時,軟體會在核心元件中設定此參數。

systemResourceLimits

此功能可在此元件的 v2.4.0 及更新版本中使用。 AWS IoT Greengrass 目前在 Windows 核心裝置上不支援此功能。

依預設,系統資源限制會套用至一般和非容器化 Lambda 元件程序。您可以在建立部署時覆寫個別元件的系統資源限制。如需詳細資訊,請參閱 設定元件的系統資源限制

此物件包含下列資訊:

cpus

每個元件的處理序可以在核心裝置上使用的 CPU 時間上限。核心裝置的 CPU 總時間等於裝置的 CPU 核心數。例如,在具有 4 個 CPU 核心的核心裝置上,您可以將此值設定2為將每個元件的處理序限制為每個 CPU 核心的 50% 使用率。在具有 1 個 CPU 核心的裝置上,您可以將此值設定0.25為將每個元件的處理序限制為 CPU 使用率 25%。如果您將此值設定為大於 CPU 核心數目的數字, AWS IoT Greengrass 核心軟體就不會限制元件的 CPU 使用率。

memory

每個元件的處理序可在核心裝置上使用的最大 RAM 容量 (以 KB 為單位)。

s3EndpointType

(選擇性) S3 端點類型。此參數只會在美國東部 (維吉尼亞北部) (us-east-1) 區域生效。從任何其他區域設定此參數將會被忽略。您可以從以下選項中選擇:

  • REGIONAL— S3 用戶端和預先簽署的 URL 使用區域端點。

  • GLOBAL— S3 用戶端和預先簽署的 URL 使用舊版端點。

預設:GLOBAL

logging

(選擇性) 核心裝置的記錄組態。如需有關如何設定和使用 Greengrass 記錄檔的詳細資訊,請參閱。監控AWS IoT Greengrass日誌

此物件包含下列資訊:

level

(選擇性) 要輸出的記錄訊息的最低層級。

從下列記錄層級中進行選擇,依照層級順序列出:

  • DEBUG

  • INFO

  • WARN

  • ERROR

預設:INFO

format

(選擇性) 記錄檔的資料格式。您可以從以下選項中選擇:

預設:TEXT

outputType

(選擇性) 記錄檔的輸出類型。您可以從以下選項中選擇:

  • FILE— AWS IoT Greengrass 核心軟件將日誌輸出到您在中指定的目錄中的文件outputDirectory

  • CONSOLE— AWS IoT Greengrass 核心軟件將日誌打印到stdout. 選擇此選項可在核心裝置列印記錄時檢視記錄檔。

預設:FILE

fileSizeKB

(選擇性) 每個記錄檔的大小上限 (以 KB 為單位)。記錄檔超過這個檔案大小上限之後, AWS IoT Greengrass Core 軟體就會建立新的記錄檔。

只有當您指定FILE為時,才會套用此參數outputType

預設:1024

totalLogsSizeKB

(選擇性) 每個元件 (包括 Greengrass 核心) 的記錄檔總大小上限 (以 KB 為單位)。Greengrass 核的日誌文件還包括來自插件組件的日誌。當元件的記錄檔總大小超過此大小上限之後, AWS IoT Greengrass 核心軟體就會刪除該元件最舊的記錄檔。

此參數等於記錄管理員元件的磁碟空間限制參數 (diskSpaceLimit),您可以為 Greengrass 核心 (系統) 和每個元件指定這個參數。 AWS IoT Greengrass 核心軟體使用兩個值中的最小值做為 Greengrass 核心和每個元件的最大總記錄大小。

只有當您指定FILE為時,才會套用此參數outputType

預設:10240

outputDirectory

(選擇性) 記錄檔的輸出目錄。

只有當您指定FILE為時,才會套用此參數outputType

預設值:/greengrass/v2/logs,其中/greengrass/v2是 AWS IoT Greengrass 根資料夾。

fleetstatus

此參數可在此元件的 v2.1.0 及更新版本中使用。

(選擇性) 核心裝置的叢集狀態設定。

此物件包含下列資訊:

periodicStatusPublishIntervalSeconds

(選擇性) 核心裝置將裝置狀態發佈至之間的時間長度 (秒) AWS 雲端。

最低限度:86400(24 小時)

預設值:86400(24 小時)

telemetry

(選擇性) 核心裝置的系統健康情況遙測組態。如需遙測指標以及如何處理遙測資料的詳細資訊,請參閱從AWS IoT Greengrass核心裝置收集系統健康狀態遙測資料

此物件包含下列資訊:

enabled

(選擇性) 您可以啟用或停用遙測。

預設:true

periodicAggregateMetricsIntervalSeconds

(選擇性) 核心裝置彙總指標的間隔 (以秒為單位)。

如果您將此值設定為低於支援的最小值,則核心會改用預設值。

下限:3600

預設:3600

periodicPublishMetricsIntervalSeconds

(選擇性) 核心裝置將遙測度量發佈到 AWS 雲端.

如果您將此值設定為低於支援的最小值,則核心會改用預設值。

下限:86400

預設:86400

deploymentPollingFrequencySeconds

(選擇性) 輪詢部署通知的期間 (以秒為單位)。

預設:15

componentStoreMaxSizeBytes

(選擇性) 元件儲存區磁碟上的大小上限,其中包含元件配方和成品。

預設值:10000000000(10 GB)

platformOverride

(選擇性) 識別核心裝置平台的屬性字典。使用此選項可定義自訂平台屬性,元件配方可用來識別元件的正確生命週期和成品。例如,您可以定義硬體功能屬性,以僅部署最小的一組成品供元件執行。如需詳細資訊,請參閱元件方案中的資訊清單平台參數

您也可以使用此參數來覆寫核心裝置的osarchitecture平台屬性。

httpClient

此參數可在此元件的 v2.5.0 及更新版本中使用。

(選擇性) 核心裝置的 HTTP 用戶端組態。這些組態選項適用於此元件所發出的所有 HTTP 要求。如果核心裝置在較慢的網路上執行,您可以增加這些逾時持續時間,以防止 HTTP 要求逾時。

此物件包含下列資訊:

connectionTimeoutMs

(選擇性) 在連線要求逾時之前等待連線開啟的時間量 (毫秒)。

預設值:2000(2 秒)

socketTimeoutMs

(選擇性) 在連線逾時之前,透過開啟的連線等待資料傳輸的時間量 (毫秒)。

預設值:30000(30 秒)

範例:組態合併更新
{ "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias", "networkProxy": { "noProxyAddresses": "http://192.168.0.1,www.example.com", "proxy": { "url": "http://my-proxy-server:1100", "username": "Mary_Major", "password": "pass@word1357" } }, "mqtt": { "port": 443 }, "greengrassDataPlanePort": 443, "jvmOptions": "-Xmx64m", "runWithDefault": { "posixUser": "ggc_user:ggc_group" } }

本機記錄檔

此元件會使用下列記錄檔。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取代/greengrass/v2C:\greengrass\v2

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

變更記錄

下表說明元件每個版本的變更。

版本

變更

2.12.6

錯誤修復和改進
  • 修正了在某些 ARMv8 處理器(包括 Jetson Nano)上啟動時導致當機的問題。

2.12.5

錯誤修復和改進
  • 修正部署復原在具有硬相依性的先前損毀元件時,部署復原偶爾會卡住的問題。

  • 修正叢集佈建後,核心不會發佈狀態更新的問題。

  • 在得到 404 錯誤後為 GetDeploymentConfiguration API 添加重試。

2.12.4

錯誤修復和改進
  • 修正在某些 Linux 裝置上啟動時,核心會進入鎖死狀態的問題。

2.12.3

警告

此版本已不再提供。此版本中的改進功能在此元件的更新版本中提供。

錯誤修復和改進

  • 修復了核重新啟動和元件恢復期間,原子核無法報告正確組件狀態的問題。

  • 一般錯誤修正與改進。

2.12.2

錯誤修復和改進
  • 修正舊記錄未正確清理的問題。

  • 一般錯誤修正與改進。

2.12.1

錯誤修復和改進
  • 修正核心可能會將 MQTT 訂閱複製到部署主題,導致其他記錄和 MQTT 發佈的問題。

2.12.0

新功能
  • 可讓您執行啟動程序生命週期步驟,做為復原部署的一部分。

2.11.3

錯誤修復和改進
  • 修正核心中的問題,即當元件的相依性失敗時,可能無法正確啟動元件。

新功能
  • 添加可配置的 s3 端點類型。

2.11.2

錯誤修復和改進
  • 修正核心 MQTT 5 用戶端中的問題,在使用大量 (> 50) 訂閱時,該用戶端可能會顯示為離線狀態。

  • 添加 docker 撥號 TCP 失敗的重試。

2.11.1

錯誤修復和改進
  • 修正啟動程序工作失敗且部署中繼資料檔案損毀時,核無法啟動的問題。

  • 修正部署狀態更新中未報告隨選 Lambda 元件的問題。

  • 添加對重複授權策略 ID 的支援。

2.11.0

新功能
  • 可讓您取消本機部署。

  • 可讓您設定本機部署的失敗處理原則。

  • 添加對磁盤後台處理程序插件的支持。

2.10.3

錯誤修復和改進
  • 修正使用 PKCS #11 提供者時 Greengrass 未訂閱部署通知的問題。

2.10.2

錯誤修復和改進
  • 允許對元件生命週期進行不區分大小寫的剖析。

  • 修正無法正確重新建立環境 PATH 變數的問題。

  • 修復了組件的代理 URI 編碼,包括具有特殊字符的用戶名的流管理器。

2.10.1

錯誤修復和改進
  • 修正了在某些 ARMv8 處理器(包括 Jetson Nano)上啟動時可能導致當機的問題。

  • Greengrass 不再關閉中的組件的標準,這會將行為恢復為 2.10.0 之前的行為

2.10.0

新功能
  • 添加interpolateComponentConfiguration對空的正則表達式的支持。Greengrass 現在從根配置對象進行插值。

  • 添加對 MQTT5 的支持。

  • 添加了一種機制,無需掃描即可快速加載插件組件。

  • 啟用 Greengrass 通過刪除未使用的 Docker 映像來節省磁盤空間。

錯誤修復和改進
  • 修正復原會保留部署中某些組態值的問題。

  • 修正 Greengrass 核心驗證自訂非認證和資料端點中 AWS 網域序列的問題。AWS

  • 更新多群組相依性解析,以透過 AWS 雲端 交涉重新解析所有群組相依性,而不是鎖定至使用中版本。此更新也會移除部署錯誤程式碼INSTALLED_COMPONENT_NOT_FOUND

  • 更新 Greengrass 核心,以便在本機已經存在 Docker 映像檔時略過下載。

  • 更新 Greengrass 核心,以在逾時到期之前重新啟動元件安裝步驟。

  • 其他小的修正和改進。

2.9.6

錯誤修復和改進
  • 修正 Greengrass 部署失敗,並顯示錯誤發生錯誤,且後續裝置重新開機無法啟動 Greengrass 的問題。當您在需要 Greengrass 重新啟動的部署的多個物件群組之間移動 Greengrass 裝置時,可能會發生此錯誤。

2.9.5

新功能
  • 添加對 Greengrass 核軟體簽名驗證的支援。

錯誤修復和改進
  • 修正當本機方案中繼資料區域與 Greengrass 核心啟動區域不相符時,部署失敗的問題。發生這種情況時,Greengrass 核現在會與雲端重新協商。

  • 修正 MQTT 訊息多工緩衝處理程式填滿且永不移除訊息的問題。

  • 其他小的修正和改進。

2.9.4

錯誤修復和改進
  • 在丟棄 QOS 0 訊息之前檢查是否有空訊息。

  • 如果工作狀態詳細資料值超過 1024 個字元的限制,則截斷這些值。

  • 如果該路徑包含空格,則更新 Windows 的啟動程序檔,以正確讀取 Greengrass 根路徑。

  • 訂閱的更新,以 AWS IoT Core 便在未傳送訂閱回應時捨棄用戶端訊息。

  • 確保當主配置文件損壞或丟失時,核從備份文件加載其配置。

2.9.3

錯誤修復和改進
  • 確保 MQTT 用戶端 ID 不會重複。

  • 添加更強大的文件讀取和寫入,以避免損壞和恢復。

  • 在特定的網絡相關錯誤上重試 docker 映像提取。

  • 添加 MQTT 連接的noProxyAddresses選項。

2.9.2

錯誤修復和改進
  • 修正設定interpolateComponentConfiguration不適用於進行中部署的問題。

  • 使用 OSHI 列出所有子進程。

2.9.1

錯誤修復和改進
  • 添加修復,如果部署刪除插件組件,Greengrass 重新啟動。

2.9.0

新功能
  • 新增建立子部署的功能,以便使用較小的裝置子集重試部署。此功能可提供更有效率的方式來測試和解決失敗的部署。

錯誤修復和改進
  • 改善了對沒有useraddgroupadd和的系統的支援usermod

  • 其他小的修正和改進。

2.8.1

錯誤修復和改進
  • 修正無法從 Greengrass API 錯誤正確產生部署錯誤碼的問題。

  • 修正當元件在部署期間達到某個狀態時,叢集狀態更新會傳送不正確資訊的問題。ERRORED

  • 修正 Greengrass 擁有超過 50 個現有訂閱時,部署無法完成的問題。

2.8.0

新功能
錯誤修復和改進
  • 允許損毀的元件在組態變更時重新安裝。

  • 修正啟動程序部署期間核心重新啟動會導致部署失敗的問題。

  • 修正 Windows 中當根路徑包含空格時安裝失敗的問題。

  • 修正部署期間關閉元件會使用新版本的關機指令碼的問題。

  • 各種關機改進。

  • 其他小的修正和改進。

2.7.0

新功能
  • 更新 Greengrass 核心核心,以便在核心裝置套用本機部 AWS IoT Greengrass 署時,將狀態更新傳送至雲端。

  • 添加對由未註冊 CA 的自定義證書頒發機構(CA)簽名的客戶端證書的支持 AWS IoT。若要使用此功能,您可以將新的組greengrassDataPlaneEndpoint態選項設定為iotdata。如需詳細資訊,請參閱 使用私有 CA 簽署的裝置憑證

錯誤修復和改進
  • 修正當核停止或重新啟動時,Greengrass 核會在特定情況下復原部署的問題。核心現在會在核心重新啟動後繼續部署。

  • 當您指定將軟體設定為系統服務時,請更新 Greengrass 安裝程式以遵守--start引數。

  • 更新的行為,SubscribeToComponentUpdates以在核心更新元件的事件中設定部署 ID。

  • 其他小的修正和改進。

2.6.0

新功能
  • 當您訂閱本機發佈/訂閱主題時,新增對 MQTT 萬用字元的支援。如需詳細資訊,請參閱 發佈/訂閱本地訊息SubscribeToTopic

  • 添加對組件配置中的配方變量的支持,而不是 component_dependency_name:configuration:json_pointer recipe 變量。當您在方案中定義元件或在部署DefaultConfiguration中設定元件時,您可以使用這些方法變數。若要啟用此功能,請將內插ComponentConfiguration組態選項設定為。true如需詳細資訊,請參閱 配方變數在合併更新中使用配方變數

  • 在進程間通信(IPC)授權策略中添加對通*配符的完全支持。您現在可以指定*資源字串中的字元,以符合任何字元組合。如需詳細資訊,請參閱 授權原則中的萬用字元

  • 添加對自定義組件的支持,以調用 Greengrass CLI 使用的 IPC 操作。您可以使用這些 IPC 作業來管理本機部署、檢視元件詳細資料,以及產生可用來登入本機除錯主控台的密碼。如需詳細資訊,請參閱 IPC:管理本機部署和元件

錯誤修復和改進
  • 修正了相依元件在某些情況下重新啟動其硬相依性或變更狀態時不會反應的問題。

  • 改善部署失敗時核心裝置向 AWS IoT Greengrass 雲端服務報告的錯誤訊息。

  • 修正當核心重新啟動時,Greengrass 核在特定案例中套用物件部署兩次的問題。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.5.6

新功能
  • 添加對使用 ECC 密鑰的硬件安全模塊的支持。您可以使用硬體安全模組 (HSM) 來安全地儲存裝置的私密金鑰和憑證。如需詳細資訊,請參閱 硬體安全整合

錯誤修復和改進
  • 修正當您在特定案例中部署含有損毀安裝指令碼的元件時,部署永遠不會完成的問題。

  • 改善啟動期間的效能。

  • 其他小的修正和改進。

2.5.5

新功能
  • 新增元件的GG_ROOT_CA_PATH環境變數,以便您可以存取自訂元件中的根憑證授權單位 (CA) 憑證。

錯誤修復和改進
  • 添加對使用英語以外顯示語言的 Windows 設備的支持。

  • 更新 Greengrass 核心剖析布林安裝程式引數的方式,以便您可以指定不含布林值的布林引數來指定值。true例如,您現在可以指定--provision而不是使用自動資源佈建--provision true進行安裝。

  • 修正核心裝置在特定情況下佈建後未向 AWS IoT Greengrass 雲端服務回報狀態的問題。

  • 其他小的修正和改進。

2.5.4

錯誤修復和改進
  • 一般錯誤修正與改進。

2.5.3

新功能
  • 添加對硬件安全集成的支持。您可以使用硬體安全模組 (HSM) 來安全地儲存裝置的私密金鑰和憑證。如需詳細資訊,請參閱 硬體安全整合

錯誤修復和改進
  • 修正核心建立 MQTT 連線時執行階段例外狀況的問題。 AWS IoT Core

2.5.2

錯誤修復和改進
  • 修復了 Greengrass 核心更新後,Windows 服務在您停止或重新啟動設備後無法再次啟動的問題。

2.5.1

警告

此版本已不再提供。此版本中的改進功能在此元件的更新版本中提供。

錯誤修復和改進
  • 添加對 Windows 上 Java 運行時環境(JRE)的 32 位版本的支持。

  • 變更 AWS IoT 原則未授與greengrass:ListThingGroupsForCoreDevice權限之核心裝置的物件群組移除行為。使用此版本時,部署會繼續進行、記錄警告,而且當您從物件群組移除核心裝置時,不會移除元件。如需詳細資訊,請參閱 將AWS IoT Greengrass元件部署到裝置

  • 修正 Greengrass 核可供 Greengrass 元件處理程序使用的系統環境變數問題。您現在可以重新啟動元件,使其使用最新的系統環境變數。

2.5.0

新功能
  • 添加對運行 Windows 的核心設備的支持。

  • 變更物件群組移除的行為。使用此版本,您可以從物件群組中移除核心裝置,以便在下次部署中解除安裝該物群組的元件。

    由於此更改,核心設備的 AWS IoT 策略必須具有greengrass:ListThingGroupsForCoreDevice權限。如果您使用 AWS IoT Greengrass Core 軟體安裝程式來佈建資源,則預設 AWS IoT 原則允許greengrass:*,其中包括此權限。如需詳細資訊,請參閱 AWS IoT Greengrass 的裝置身分驗證和授權

  • 添加對 HTTPS 代理配置的支持。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

  • 加入新的windowsUser組態參數。您可以使用此參數來指定用來在 Windows 核心裝置上執行元件的預設使用者。如需詳細資訊,請參閱 設定執行元件的使用者

  • 新增可用來自訂 HTTP 要求逾時的新httpClient組態選項,以改善慢速網路上的效能。如需詳細資訊,請參閱 httpClient 設定參數。

錯誤修復和改進
  • 修復了引導生命週期選項,以從組件重新啟動核心設備。

  • 添加對配方變量中連字符的支持。

  • 修正隨選 Lambda 函數元件的 IPC 授權。

  • 改進了日誌消息並將非關鍵日誌從級別更改INFODEBUG級別,因此日誌更有用。

  • 當您使iot:DescribeCertificate用自動佈建安裝 AWS IoT Greengrass Core 軟體時,會從 Greengrass 核心建立的預設權杖交換角色中移除權限。Greengrass 核不使用此權限。

  • 修正問題,如iam:CreatePolicy果相同原則可使用,則自動佈建指令碼不需要iam:GetPolicy權限。

  • 其他小的修正和改進。

2.4.0

新功能
錯誤修復和改進
  • 在啟動時更新記錄配置。這修正了啟動時未套用記錄設定的問題。

  • 更新核子加載器符號鏈接,以在安裝期間指向 Greengrass 根文件夾中的組件存儲區。此更新可讓您刪除安裝 AWS IoT Greengrass Core 軟體時下載的 JAR 檔案和其他核心成品。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.3.0

新功能
  • 添加iot:thingName配方變量。您可以使用此 recipe 變數來取得方案中核心裝置 AWS IoT 物件的名稱。如需詳細資訊,請參閱 配方變數

錯誤修復和改進
  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.2.0

新功能
  • 添加用於本地陰影管理的 IPC 操作。

錯誤修復和改進
  • 減少 JAR 檔案的大小。

  • 減少記憶體使用量。

  • 修復了某些情況下未更新日誌配置的問題。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.1.0

新功能
  • 支援從 Amazon ECR 中的私有儲存庫下載 Docker 映像檔。

  • 新增下列參數以自訂核心裝置上的 MQTT 組態:

    • maxInFlightPublishes— 可同時進行中未確認的 MQTT QoS 1 訊息的最大數量。

    • maxPublishRetry— 重試失敗發佈之郵件的次數上限。

  • 新增fleetstatusservice組態參數以設定核心裝置將裝置狀態發佈至的間隔 AWS 雲端。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

錯誤修復和改進
  • 修正核心重新啟動時造成陰影部署重複的問題。

  • 修正當核心發生服務載入例外狀況時造成當機的問題。

  • 改善元件相依性解決方案,使包含循環相依性的部署失敗。

  • 修正先前已從核心裝置移除外掛程式元件時,無法重新部署該元件的問題。

  • 修正導致 Lambda 元件或以 root 身分執行之元件的HOME環境變數設定為/greengrass/v2/work目錄的問題。HOME變數現在已正確設定為執行元件之使用者的主目錄。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.0.5

錯誤修復和改進
  • 下載 AWS提供的元件時,透過設定的網路 Proxy 正確路由傳送流量。

  • 在 AWS 中國地區使用正確的 Greengrass 資料平面端點。

2.0.4

新功能
  • 透過連接埠 443 啟用 HTTPS 流量。您可以使用核心元件 2.0.4 版的新greengrassDataPlanePort組態參數,將 HTTPS 通訊設定為透過連接埠 443 傳輸,而非預設連接埠 8443。如需詳細資訊,請參閱 透過連接埠 443 設定 HTTPS

  • 新增工作路徑 recipe 變數。您可以使用此 recipe 變數來取得元件工作資料夾的路徑,您可以使用這些路徑在元件及其相依性之間共用檔案。如需詳細資訊,請參閱工作路徑 recipe 變數

錯誤修復和改進
  • 如果角色政策已存在,則防止建立權杖交換 AWS Identity and Access Management (IAM) 角色政策。

    由於此變更,安裝程式現在需要iam:GetPolicy和執行sts:GetCallerIdentity時使用--provision true。如需詳細資訊,請參閱 安裝程式佈建資源的最低 IAM 政策

  • 正確處理尚未成功註冊之部署的取消。

  • 更新組態,以在復原部署時移除具有較新時間戳記的舊項目。

  • 其他小的修正和改進。如需詳細資訊,請參閱中的發行版本 GitHub。

2.0.3

初始版本。