本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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.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
作業系統
此元件可安裝在執行下列作業系統的核心裝置上:
Linux
Windows
如需詳細資訊,請參閱支援平台。
需求
設備必須滿足某些要求才能安裝和運行 Greengrass 核心和核心軟件。 AWS IoT Greengrass 如需詳細資訊,請參閱裝置要求。
支援在. VPC 若要在中部署此元件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
指向權杖交換 AWS IoT 角色的IAM角色別名。 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
-
(JVM選擇性) 用來執行 AWS IoT Greengrass Core 軟體的選項。如需執行 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. 如果您將此值設定為大於核心數目的數目,CPU AWS IoT Greengrass Core 軟體就不會限制元件CPU的使用量。 memory
-
每個元件的處理序可在核心裝置上使用的最大數量 RAM (以 KB 為單位)。
-
s3EndpointType
-
(選擇性) S3 端點類型。此參數只會在美國東部 (維吉尼亞北部) (
us-east-1
) 區域生效。從任何其他區域設定此參數將會被忽略。您可以從以下選項中選擇:-
REGIONAL
— S3 用戶端和預先簽署URL使用區域端點。 -
GLOBAL
— 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 logs 命令檢視記錄檔,或以程式設計方式與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" } }
本機記錄檔
此元件使用下列記錄檔。
若要檢視此元件的記錄
-
在核心裝置上執行下列命令,即時檢視此元件的記錄檔。更換
或/greengrass/v2
C:\greengrass\v2
與 AWS IoT Greengrass 根文件夾的路徑。
變更記錄
下表說明元件每個版本中的變更。
版本 |
變更 |
---|---|
2.13.0 |
|
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 |
初始版本。 |