本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
— 該計劃,必須是http
或https
。重要
核心裝置必須執行 Greengrass 核心 v2.5.0 或更新版本才能使用 HTTPS 代理伺服器。
如果您設定 HTTPS 代理,則必須將代理伺服器 CA 憑證新增至核心裝置的 Amazon 根 CA 憑證。如需詳細資訊,請參閱 讓核心裝置信任HTTPS代理伺服器。
-
userinfo
— (選用) 使用者名稱和密碼資訊。如果您在中指定此資訊url
,Greengrass 核心裝置會忽略和欄位username
。password
-
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 作業 (例如
CONNECT
或PUBLISH
) 完成的時間量 (以毫秒為單位)。此選項不適用於 MQTTPING
或保持有效訊息。預設值:
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
可以設定。您可指定為Memory
或Disk
。此功能適用於 v2.11.0 及更高版本的綠核組件。
重要
如果 MQTT 多工緩衝處理程式設定
storageType
為,Disk
且您想要將 Greengrass 核心從 2.11.x 版降級為較早的版本,您必須將組態變更回。Memory
Greengrass 核 2.10.x 版本及更早版本支持的唯一配置是。storageType
Memory
不遵循此指導可能會導致多工緩衝處理程式中斷。這會導致您的 Greengrass 核心裝置無法將 MQTT 訊息傳送到. AWS 雲端預設:
Memory
pluginName
-
(選擇性) 外掛程式元件名稱。只有當設定為時,才會使用此元件
Disk
。storageType
此選項預設為,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 的版本。您可指定為
mqtt3
或mqtt5
。此功能適用於 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_user
或ggc_user:ggc_group
。如需詳細資訊,請參閱 設定執行元件的使用者。當您使用
--component-default-user
選項執行 AWS IoT Greengrass Core 軟體安裝程式時,軟體會在核心元件中設定此參數。ggc_user
:ggc_group
windowsUser
-
此功能在此元件的 v2.5.0 及更新版本中提供。
用來在 Windows 核心裝置上執行此元件的 Windows 使用者名稱。使用者必須存在於每個 Windows 核心裝置上,且其名稱和密碼必須儲存在 LocalSystem 帳戶的認證管理員執行個體中。如需詳細資訊,請參閱 設定執行元件的使用者。
當您使用
--component-default-user
選項執行 AWS IoT Greengrass Core 軟體安裝程式時,軟體會在核心元件中設定此參數。ggc_user
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
— 如果要以文字形式檢視記錄,請選擇此選項。 -
JSON
— 如果您想要使用 Greengrass CLI 記錄檔命令檢視記錄檔,或以程式設計方式與記錄檔互動,請選擇此選項。
預設:
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
。預設值:
,其中
/logs/greengrass/v2
是 AWS IoT Greengrass 根資料夾。/greengrass/v2
-
-
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
-
(選擇性) 識別核心裝置平台的屬性字典。使用此選項可定義自訂平台屬性,元件配方可用來識別元件的正確生命週期和成品。例如,您可以定義硬體功能屬性,以僅部署最小的一組成品供元件執行。如需詳細資訊,請參閱元件方案中的資訊清單平台參數。
您也可以使用此參數來覆寫核心裝置的
os
和architecture
平台屬性。 -
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" } }
本機記錄檔
此元件會使用下列記錄檔。
若要檢視此元件的記錄
-
在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取代
或/greengrass/v2
C:\greengrass\v2
。
變更記錄
下表說明元件每個版本的變更。
版本 |
變更 |
---|---|
2.12.6 |
|
2.12.5 |
|
2.12.4 |
|
2.12.3 |
警告此版本已不再提供。此版本中的改進功能在此元件的更新版本中提供。 錯誤修復和改進
|
2.12.2 |
|
2.12.1 |
|
2.12.0 |
|
2.11.3 |
|
2.11.2 |
|
2.11.1 |
|
2.11.0 |
|
2.10.3 |
|
2.10.2 |
|
2.10.1 |
|
2.10.0 |
|
2.9.6 |
|
2.9.5 |
|
2.9.4 |
|
2.9.3 |
|
2.9.2 |
|
2.9.1 |
|
2.9.0 |
|
2.8.1 |
|
2.8.0 |
|
2.7.0 |
|
2.6.0 |
|
2.5.6 |
|
2.5.5 |
|
2.5.4 |
|
2.5.3 |
|
2.5.2 |
|
2.5.1 |
警告此版本已不再提供。此版本中的改進功能在此元件的更新版本中提供。
|
2.5.0 |
|
2.4.0 |
|
2.3.0 |
|
2.2.0 |
|
2.1.0 |
|
2.0.5 |
|
2.0.4 |
|
2.0.3 |
初始版本。 |