Greengrass 核 - AWS IoT Greengrass

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

Greengrass 核

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

注意

自 Greengrass 2.14.0 版起,限制邊緣裝置可使用記憶體使用量最佳化版本的 nucleus 裝置執行期。如需其組態和使用的詳細資訊,請參閱 Greengrass nucleus lite

重要

當核心元件的版本變更,或您變更特定組態參數時,包含您裝置上的核心 AWS IoT Greengrass 軟體和所有其他元件會開始套用變更。

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

為了防止在您裝置上執行之元件的意外更新,我們建議您在建立部署時直接包含該元件的偏好版本。如需 AWS IoT Greengrass Core 軟體更新行為的詳細資訊,請參閱 更新 AWS IoT Greengrass 核心軟體 (OTA)

版本

此元件具有下列版本:

  • 2.15.x

  • 2.14.x

  • 2.13.x

  • 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

裝置要求

注意

您可以使用 AWS IoT Device Tester 的 AWS IoT Greengrass 來驗證您的裝置是否可以執行 AWS IoT Greengrass 核心軟體並與 通訊 AWS 雲端。如需詳細資訊,請參閱使用 AWS IoT Device Tester for AWS IoT Greengrass V2

Linux
  • 使用 AWS 區域 支援的 AWS IoT Greengrass V2。如需支援區域的清單,請參閱《AWS 一般參考》中的 AWS IoT Greengrass V2 端點和配額

  • AWS IoT Greengrass 核心軟體可用的磁碟空間至少為 256 MB。此要求不包含部署到核心裝置的元件。

  • 配置給 AWS IoT Greengrass Core 軟體的最小 96 MB RAM。此要求不包含在核心裝置上執行的元件。如需詳細資訊,請參閱使用 JVM 選項控制記憶體配置

  • Java 執行期環境 (JRE) 第 8 版或更新版本。Java 必須在裝置上的 PATH 環境變數上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。我們建議您使用 Amazon CorrettoOpenJDK 長期支援版本。第 8 版或更新版本為必要項目。

  • GNU C 程式庫 (glibc) 2.25 版或更新版本。

  • 您必須以根使用者身分執行 AWS IoT Greengrass Core 軟體。例如sudo,使用 。

  • 執行 AWS IoT Greengrass Core 軟體的根使用者,例如 root,必須具有sudo許可,才能使用任何使用者和任何群組執行 。/etc/sudoers 檔案必須授予此使用者執行 sudo做為其他群組的許可。中使用者的許可/etc/sudoers應如下所示。

    root ALL=(ALL:ALL) ALL
  • 核心裝置必須能夠對一組端點和連接埠執行傳出請求。如需詳細資訊,請參閱允許透過代理或防火牆的裝置流量

  • /tmp 目錄必須掛載有 exec 許可。

  • 下列所有 shell 命令:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • 您的裝置也可能需要下列選用的 shell 命令:

    • (選用) systemctl。此命令用於將 AWS IoT Greengrass Core 軟體設定為系統服務。

    • (選用) useraddgroupaddusermod。這些命令用於設定ggc_user系統使用者和ggc_group系統群組。

    • (選用) mkfifo。此命令用於執行 Lambda 函數做為元件。

  • 若要設定元件程序的系統資源限制,您的裝置必須執行 Linux 核心版本 2.6.24 或更新版本。

  • 若要執行 Lambda 函數,您的裝置必須符合其他要求。如需詳細資訊,請參閱Lambda 函數需求

Windows
  • 使用 AWS 區域 支援的 AWS IoT Greengrass V2。如需支援區域的清單,請參閱《AWS 一般參考》中的 AWS IoT Greengrass V2 端點和配額

  • AWS IoT Greengrass 核心軟體可用的磁碟空間至少為 256 MB。此要求不包含部署到核心裝置的元件。

  • 配置給 AWS IoT Greengrass Core 軟體的最小 160 MB RAM。此要求不包含在核心裝置上執行的元件。如需詳細資訊,請參閱使用 JVM 選項控制記憶體配置

  • Java 執行期環境 (JRE) 第 8 版或更新版本。Java 必須在裝置上的 PATH 系統變數上可用。若要使用 Java 開發自訂元件,您必須安裝 Java 開發套件 (JDK)。我們建議您使用 Amazon CorrettoOpenJDK 長期支援版本。第 8 版或更新版本為必要項目。

    注意

    若要使用 Greengrass 核的 2.5.0 版,您必須使用 64 位元版本的 Java 執行期環境 (JRE)。Greengrass 核版本 2.5.1 支援 32 位元和 64 位元 JREs。

  • 安裝 AWS IoT Greengrass Core 軟體的使用者必須是管理員。

  • 您必須將 AWS IoT Greengrass Core 軟體安裝為系統服務。在安裝軟體--setup-system-service true時指定 。

  • 每個執行元件程序的使用者都必須存在於 LocalSystem 帳戶中,而且使用者名稱和密碼必須位於 LocalSystem 帳戶的 Credential Manager 執行個體中。您可以在遵循安裝 AWS IoT Greengrass 核心軟體的指示時設定此使用者。

  • 核心裝置必須能夠對一組端點和連接埠執行傳出請求。如需詳細資訊,請參閱允許透過代理或防火牆的裝置流量

支援平台

AWS IoT Greengrass 正式支援執行下列平台的裝置。此清單中未包含平台的裝置可能可以運作,但只能在這些指定的平台上 AWS IoT Greengrass 進行測試。

Linux

架構:

  • Armv7l

  • Armv8 (AArch64)

  • x86_64

Windows

架構:

  • x86_64

版本:

  • Windows 10

  • Windows 11

  • Windows Server 2019

  • Windows Server 2022

注意

Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。如需詳細資訊,請參閱Greengrass 功能相容性功能考量事項

功能考量事項

Windows 裝置目前不支援某些 AWS IoT Greengrass 功能。檢閱功能差異,以確認 Windows 裝置是否符合您的需求。如需詳細資訊,請參閱Greengrass 功能相容性

若要建置自訂 Linux 作業系統,您可以在meta-aws專案中使用適用於 AWS IoT Greengrass 的 BitBake 配方。meta-aws 專案提供配方,可讓您用來在以 OpenEmbedded 和 Yocto Project 組建架構建置的嵌入式 Linux 系統中建置 AWS 邊緣軟體功能。Yocto 專案是一種開放原始碼協同合作專案,可協助您為嵌入式應用程式建置自訂 Linux 型系統,而不論硬體架構為何。的 AWS IoT Greengrass BitBake 配方會在您的裝置上安裝、設定和自動執行 AWS IoT Greengrass Core 軟體。

Linux 平台也可以 AWS IoT Greengrass 在 Docker 容器中執行。如需詳細資訊,請參閱在 Docker 容器中執行 AWS IoT Greengrass 核心軟體

作業系統

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

  • Linux

  • Windows

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

需求

裝置必須符合特定需求,才能安裝和執行 Greengrass 核和 AWS IoT Greengrass Core 軟體。如需詳細資訊,請參閱裝置要求

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

  • Greengrass 核元件必須具備與 AWS IoT data、 AWS IoT Credentials 和 Amazon S3 的連線能力。

相依性

Greengrass 核不包含任何元件相依性。不過,數個 AWS提供的元件包含 核心做為相依性。如需詳細資訊,請參閱AWS提供的元件

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

下載並安裝

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

您也可以遵循教學課程來安裝 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以便核心裝置可以執行在其組態中使用配方變數的 Greengrass 元件。

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

預設:false

networkProxy

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

重要

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

此物件包含下列資訊:

noProxyAddresses

(選用) 從代理中豁免的 IP 地址或主機名稱的逗號分隔清單。

proxy

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

url

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

  • scheme – 結構描述,必須是 httphttps

    重要

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

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

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

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

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

    • http – 80

    • https – 443

username

(選用) 驗證代理伺服器的使用者名稱。

password

(選用) 驗證代理伺服器的密碼。

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 (128 KB)

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

maxPublishRetry

(選用) 重試無法發佈訊息的次數上限。您可以指定 -1 重試不限時間。

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

預設:100

spooler

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

storageType

儲存訊息的儲存類型。如果 storageType 設定為 DiskpluginName則可以設定 。您可指定為 MemoryDisk

此功能適用於 Greengrass 核元件的 v2.11.0 和更新版本。

重要

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

預設:Memory

pluginName

(選用) 外掛程式元件名稱。只有在 storageType設定為 時,才會使用此元件Disk。此選項預設為 aws.greengrass.DiskSpooler,並使用 Greengrass 提供的 磁碟多工緩衝處理

此功能適用於 Greengrass 核元件的 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

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:mqtt5

receiveMaximum

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

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:100

sessionExpirySeconds

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

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:604800 (7 days)

minimumReconnectDelaySeconds

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

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:1

maximumReconnectDelaySeconds

(選用) 重新連線行為的選項。MQTT 重新連線的秒數上限。

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:120

minimumConnectedTimeBeforeRetryResetSeconds

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

此功能適用於 Greengrass 核元件的 v2.10.0 和更新版本。

預設:30

jvmOptions

(選用) 用來執行 AWS IoT Greengrass Core 軟體的 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

此功能適用於此元件的 v2.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 軟體安裝程式時,軟體會在 nucleus 元件中設定此參數。

windowsUser

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

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

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

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 Core 軟體不會限制元件的 CPU 用量。

memory

每個元件程序可在核心裝置上使用的 RAM 數量上限 (以 KB 為單位)。

s3EndpointType

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

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

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

  • DUALSTACK – S3 預先簽章的 URL 使用雙堆疊端點。

預設:GLOBAL

fipsMode

(選用) 讓 Greengrass 使用 FIPS 端點。如需如何啟用 FIPS 端點的詳細資訊,請參閱 FIPS 端點

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

  • true 當設定為 true 時,端點將使用 FIPS 端點。

  • false 當 false 時,端點不會使用 FIPS 端點。

預設:false

logging

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

此物件包含下列資訊:

level

(選用) 要輸出的日誌訊息最低層級。

從下列日誌層級中進行選擇,此處依層級順序列出:

  • DEBUG

  • INFO

  • WARN

  • ERROR

預設:INFO

format

(選用) 日誌的資料格式。您可以從以下選項中選擇:

  • TEXT – 如果您想要以文字形式檢視日誌,請選擇此選項。

  • JSON – 如果您想要使用 Greengrass CLI 日誌命令檢視日誌或以程式設計方式與日誌互動,請選擇此選項。

預設:TEXT

outputType

(選用) 日誌的輸出類型。您可以從以下選項中選擇:

  • FILE – Core AWS IoT Greengrass 軟體會將日誌輸出至您在 中指定的目錄中的檔案outputDirectory

  • CONSOLE – Core AWS IoT Greengrass 軟體會將日誌列印到 stdout。選擇此選項可在核心裝置列印日誌時檢視日誌。

預設:FILE

fileSizeKB

(選用) 每個日誌檔案的大小上限 (以 KB 為單位)。日誌檔案超過此檔案大小上限後, AWS IoT Greengrass 核心軟體會建立新的日誌檔案。

此參數僅適用於您FILE為 指定 時outputType

預設:1024

totalLogsSizeKB

(選用) 每個元件的日誌檔案總大小上限 (以 KB 為單位),包括 Greengrass 核。Greengrass 核的日誌檔案也包含來自外掛程式元件的日誌。當元件的日誌檔案總大小超過此大小上限後, AWS IoT Greengrass Core 軟體會刪除該元件最舊的日誌檔案。

此參數等同於日誌管理員元件的磁碟空間限制參數 (diskSpaceLimit),您可以為 Greengrass 核 (系統) 和每個元件指定該參數。Core 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 秒)

deploymentConfigurationTimeSource

此參數適用於此元件的 v2.15.0 和更新版本。

(選用) 處理部署時要使用的時間戳記。預設值為 deploymentCreationTime

此物件包含下列值:

deploymentCreationTime

預設值 deploymentConfigurationTimeSource。裝置會使用部署建立時間戳記來解決處理期間的組態金鑰衝突。選取此行為時,核持有的本機裝置組態的時間戳記可能比傳入部署的時間戳記更大,並拒絕現在視為過期的傳入組態變更。

deploymentProcessingTime

裝置會使用其本機時間戳記來解決部署處理期間的組態金鑰衝突。處理時,裝置會根據處理時間戳記而非部署建立時間戳記來更新組態。此行為假設裝置時鐘已正確校正。

如果您希望新裝置在第一次連線時使用此行為,請在初始裝置映像或安裝中設定此核心設定,而不是透過部署進行設定。使用此組態的 nucleus 傳統安裝程式--init-config選項。

此初始組態至關重要,因為裝置會依任意順序處理多個部署。如果沒有適當的初始組態,裝置可能會在接收將核心組態設定為 的部署之前,使用預設deploymentCreationTime行為來處理部署deploymentProcessingTime

範例:組態合併更新
{ "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
檢視此元件的日誌
  • 在核心裝置上執行下列命令,以即時檢視此元件的日誌檔案。將 /greengrass/v2C:\greengrass\v2 取代為 AWS IoT Greengrass 根資料夾的路徑。

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

變更記錄

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

版本

變更

2.15.0

新功能
  • 新增遙測功能,以包含主機系統資訊,例如 CPU 和作業系統詳細資訊。如需詳細資訊,請參閱遙測元件頁面。

  • 新增deploymentConfigurationTimeSource組態。如需詳細資訊,請參閱 核元件組態。

錯誤修正和改善
  • 根據預設,Nucleus 現在會優先使用本機版本和成品,改善部署一致性並減少外部相依性。使用者可以透過在部署文件中指定替代偏好設定來覆寫此行為。

  • 當提供的 Windows 使用者不符合 Windows 通常接受的字元集時,新增警告日誌。

2.14.3

錯誤修正和改善

  • 允許權杖交換服務在連接埠組態變更時重新啟動。

  • 修正機群狀態服務未觸發未鎖定 Lambda 時,不會傳送元件狀態變更訊息的問題。

  • 修正部署新元件版本時,元件無法正常關閉的問題。

  • 修正內建外掛程式的注入掛鉤執行兩次導致額外的生命週期事件和重複記錄的問題。

  • 改善 Windows 裝置上的元件生命週期記錄。

2.14.2

錯誤修正和改善

  • 修正 HTTP 用戶端未設定交互身分驗證的問題。

2.14.1

錯誤修正和改善

  • 修正 Greengrass 新安裝時元件未正確停止的問題。

2.14.0

警告

此版本不再可用。此版本的改善功能可在此元件的較新版本中使用。

新功能
  • 新的雙堆疊端點支援可啟用 IPv6 網路通訊。

  • 增強對核重新啟動失敗和Launch目錄損毀的彈性。

錯誤修正和改善
  • 修正 IPC PubSub 訂閱關閉中的記憶體流失。

  • 修正略過條件為 true 時,因啟動逾時而進入 ERRORED 狀態之元件的執行生命週期。

  • 修正當 TLS 政策設定為 TLS13_1_3_2022_10 時,核心裝置無法連線至 AWS IoT Core 的問題。

2.13.0

新功能
  • 在 Nucleus 中支援 FIPS 端點。

錯誤修正和改善
  • 取消部署改進:現在可在合併新組態時以及等待服務啟動時取消部署。

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

錯誤修正和改善
  • 修正使用大量 (> 50) 訂閱時,可能離線的 nucleus MQTT 5 用戶端問題。

  • 新增對 Docker 撥號 TCP 失敗的重試。

2.11.1

錯誤修正和改善
  • 修正當引導任務失敗且部署中繼資料檔案損毀時,核心無法啟動的問題。

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

  • 新增對重複授權政策 IDs支援。

2.11.0

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

  • 可讓您設定本機部署的故障處理政策。

  • 新增對磁碟多工緩衝處理外掛程式的支援。

2.10.3

錯誤修正和改善
  • 修正 Greengrass 在使用 PKCS#11 供應商時未訂閱部署通知的問題。

2.10.2

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

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

  • 修正元件的代理 URI 編碼,包括具有特殊字元之使用者名稱的串流管理員。

2.10.1

錯誤修正和改善
  • 修正在特定 ARMv8 處理器上啟動時可能導致當機的問題,包括 Jetson Nano。

  • Greengrass 不再關閉元件在 中的標準,這會將行為還原為 pre-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 部署失敗並顯示 LAUNCH_DIRECTORY_CORRUPTED 錯誤,且後續裝置重新啟動無法啟動 Greengrass 的問題。當您在部署需要 Greengrass 重新啟動的多個物件群組之間移動 Greengrass 裝置時,可能會發生此錯誤。

2.9.5

新功能
  • 新增對 Greengrass 核軟體簽章驗證的支援。

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

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

  • 其他次要修正和改進。

2.9.4

錯誤修正和改善
  • 在捨棄 QOS 0 訊息之前檢查 null 訊息。

  • 如果任務狀態詳細資訊值超過 1024 個字元限制,則會將其截斷。

  • 如果該路徑包含空格,請更新 Windows 的引導指令碼,以正確讀取 Greengrass 根路徑。

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

  • 確保當主要組態檔案損毀或遺失時,核會從備份檔案載入其組態。

2.9.3

錯誤修正和改善
  • 確保 MQTT IDs 不會重複。

  • 新增更強大的檔案讀取和寫入,以避免並從損毀中復原。

  • 重試 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

新功能
  • 更新 Greengrass 核以報告部署運作狀態回應,其中包含在將元件部署至核心裝置時的詳細錯誤代碼。如需詳細資訊,請參閱詳細部署錯誤碼

  • 更新 Greengrass 核以報告元件運作狀態回應,其中包含元件進入 BROKENERRORED 狀態時的詳細錯誤代碼。如需詳細資訊,請參閱詳細的元件狀態碼

  • 展開狀態訊息欄位,以改善裝置的雲端可用性資訊。

  • 改善機群狀態服務穩健性。

錯誤修正和改善
  • 允許損壞的元件在其組態變更時重新安裝。

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

  • 修正根路徑包含空格時安裝失敗的 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變數除外。您可以在配方DefaultConfiguration中定義元件的 或設定部署中的元件時,使用這些配方變數。若要啟用此功能,請將 interpolateComponentConfiguration 組態選項設定為 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 true--provision而不是使用自動資源佈建安裝 。

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

  • 其他次要修正和改進。

2.5.4

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

2.5.3

新功能
  • 新增硬體安全整合的支援。您可以使用硬體安全模組 (HSM) 安全地存放裝置的私有金鑰和憑證。如需詳細資訊,請參閱硬體安全整合

錯誤修正和改善
  • 修正核心與 建立 MQTT 連線時,執行時間例外狀況的問題 AWS IoT Core。

2.5.2

錯誤修正和改善
  • 修正 Greengrass 核更新後,Windows 服務在您停止或重新啟動裝置後無法再次啟動的問題。

2.5.1

警告

此版本不再可用。此版本的改善功能可在此元件的較新版本中使用。

錯誤修正和改善
  • 新增對 Windows 上 32 位元版本的 Java 執行期環境 (JRE) 的支援。

  • 變更政策 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 授權。

  • 改善日誌訊息,並將非關鍵日誌從 INFO 變更為DEBUG關卡,因此日誌更實用。

  • 從 Greengrass 核在安裝具有自動佈建 AWS IoT Greengrass 的核心軟體時建立的預設權杖交換角色中移除iot:DescribeCertificate許可。Greengrass 核不會使用此許可。

  • 修正問題,因此如果 iam:CreatePolicy 適用於相同的政策,則自動佈建指令碼不需要 iam:GetPolicy許可。

  • 其他次要修正和改進。

2.4.0

新功能
錯誤修正和改善
  • 在啟動時更新記錄組態。這修正了啟動時未套用記錄組態的問題。

  • 更新 nucleus 載入器符號連結,以在安裝期間指向 Greengrass 根資料夾中的元件存放區。此更新可讓您刪除安裝 AWS IoT Greengrass 核心軟體時下載的 JAR 檔案和其他核子成品。

  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

2.3.0

新功能
  • 新增對部署組態文件的支援,最高可達 10 MB,從 7 KB (適用於以物件為目標的部署) 或 31 KB (適用於以物件群組為目標的部署) 開始。

    若要使用此功能,核心裝置的 AWS IoT 政策必須允許 greengrass:GetDeploymentConfiguration許可。如果您使用 AWS IoT Greengrass Core 軟體安裝程式佈建資源,則核心裝置的 AWS IoT 政策會允許 greengrass:*,其中包含此許可。如需詳細資訊,請參閱的裝置身分驗證和授權 AWS IoT Greengrass

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

錯誤修正和改善
  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

2.2.0

新功能
  • 新增本機影子管理的 IPC 操作。

錯誤修正和改善
  • 減少 JAR 檔案的大小。

  • 減少記憶體用量。

  • 修正在某些情況下未更新日誌組態的問題。

  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

2.1.0

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

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

    • maxInFlightPublishes – 可同時傳輸的未確認 MQTT QoS 1 訊息數量上限。

    • maxPublishRetry – 重試無法發佈訊息的次數上限。

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

  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

錯誤修正和改善
  • 修正核重新啟動時導致陰影部署重複的問題。

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

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

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

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

  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

2.0.5

錯誤修正和改善
  • 下載 AWS提供的元件時,透過設定的網路代理正確路由流量。

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

2.0.4

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

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

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

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

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

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

  • 其他次要修正和改進。如需詳細資訊,請參閱 GitHub 上的版本

2.0.3

初始版本。