支援終止通知:2026 年 10 月 7 日 AWS 將停止 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後,您將無法再存取 AWS IoT Greengrass V1 資源。如需詳細資訊,請造訪從 遷移 AWS IoT Greengrass Version 1。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
呼叫本機運作狀態檢查 API
AWS IoT Greengrass 包含本機 HTTP API,可提供由 啟動之本機工作者程序目前狀態的快照 AWS IoT Greengrass。此快照包含使用者定義的 Lambda 函數和系統 Lambda 函數。System Lambda 函數是 AWS IoT Greengrass Core 軟體的一部分。它們在核心裝置上以本機工作者程序執行,並管理訊息路由、本機陰影同步和自動 IP 地址偵測等操作。
運作狀態檢查 API 支援下列請求:
-
傳送
GET請求以取得所有工作者的健康資訊。 -
傳送
POST請求以取得指定工作者的健康資訊。
請求會在裝置本機傳送,不需要網際網路連線。
取得所有工作者的健康資訊
傳送GET請求以取得所有執行中工作者的健康資訊。
-
將
連接埠取代為 IPC 的連接埠號碼。
GET http://localhost:port/2016-11-01/health/workers
port-
IPC 的連接埠號碼。
值可能介於 1024 和 65535 之間。預設值為 8000。
若要變更此連接埠號碼,您可以更新
config.json檔案中的ggDaemonPort屬性。如需詳細資訊,請參閱AWS IoT Greengrass 核心組態檔案。
範例請求
下列範例curl請求會取得所有工作者的運作狀態資訊。
curl http://localhost:8000/2016-11-01/health/workers
JSON 回應
此請求會傳回一系列工作者運作狀態資訊物件。
回應範例
下列範例回應會列出 啟動之所有工作者程序的運作狀態資訊物件 AWS IoT Greengrass。
[ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:::function:GGSecretManager:1", "WorkerId": "a9916cc2-1b4d-4f0e-4b12-b1872EXAMPLE", "ProcessId": "9798", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073EXAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" }, ... ]
取得指定工作者的運作狀態資訊
傳送POST請求以取得指定工作者的運作狀態資訊。將連接埠取代為 IPC 的連接埠號碼。預設值為 8000。
POST http://localhost:port/2016-11-01/health/workers
範例請求
下列範例curl請求會取得指定工作者的運作狀態資訊。
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
以下是body.json請求內文的範例:
{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }
請求內文包含FuncArns陣列。
FuncArns-
代表目標工作者之 Lambda 函數的 Amazon Resource Name ARNs) 清單。
對於使用者定義的 Lambda 函數,指定目前部署版本的 ARN。如果您使用別名 ARN 將 Lambda 函數新增至群組,您可以使用 GET 請求來取得所有工作者,然後選擇您要查詢ARNs。
針對系統 Lambda 函數,指定對應 Lambda 函數的 ARN。如需詳細資訊,請參閱System Lambda 函數。
類型:字串的陣列
長度下限:1
長度上限:核心裝置上由 啟動 AWS IoT Greengrass 的工作者總數。
JSON 回應
此請求會傳回Workers陣列和InvalidArns陣列。
Workers-
指定工作者的運作狀態資訊物件清單。
類型:運作狀態資訊物件陣列
InvalidArns-
無效的函數 ARNs 清單,包括沒有相關聯工作者ARNs。
類型:字串的陣列
回應範例
下列範例回應會列出指定工作者的運作狀態資訊物件。
{ "Workers": [ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073ESAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" } ], "InvalidArns" : [ "some-malformed-arn", "arn:aws:lambda:us-west-2:123456789012:function:some-unknown-function:1" ] }
此請求會傳回下列錯誤:
- 400 無效的請求
請求內文格式錯誤。若要解決此問題,請使用下列格式並重新傳送請求:
{"FuncArns":["function-1-arn","function-2-arn"]}- 400 請求超過工作者數量上限
FuncArns陣列中指定的 ARNs 數目超過工作者數目。
工作者運作狀態資訊
運作狀態資訊物件包含下列屬性:
FuncArn-
代表工作者之系統 Lambda 函數的 ARN。
類型:
string WorkerId-
工作者的 ID。此屬性對於偵錯非常有用。
runtime.log檔案和 Lambda 函數日誌包含工作者 ID,因此此屬性對於偵錯啟動多個執行個體的隨需 Lambda 函數特別有用。類型:
string ProcessId-
工作者程序的程序 ID (PID)。
類型:
int WorkerState-
工作者的狀態。
類型:
string以下是可能的工作者狀態:
Working-
處理訊息。
Waiting-
等待訊息。適用於做為協助程式或獨立程序執行的長期 Lambda 函數。
Starting-
轉身,入門。
FailedInitialization-
無法初始化。
Terminated-
停止 Greengrass 協助程式
NotStarted-
無法啟動,再次嘗試啟動。
Initialized-
初始化成功。
System Lambda 函數
您可以請求下列系統 Lambda 函數的運作狀態資訊:
GGCloudSpooler-
管理以 AWS IoT Core 做為來源或目標的 MQTT 訊息佇列。
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1 GGConnManager-
在 Greengrass 核心和用戶端裝置之間路由 MQTT 訊息。
ARN:
arn:aws:lambda:::function:GGConnManager GGDeviceCertificateManager-
接聽 AWS IoT 影子中核心 IP 端點的變更,並產生 GGConnManager 用於交互身分驗證的伺服器端憑證。
ARN:
arn:aws:lambda:::function:GGDeviceCertificateManager GGIPDetector-
管理自動 IP 地址偵測,讓 Greengrass 群組中的裝置探索 Greengrass 核心裝置。當您手動提供 IP 地址時,不適用此服務。
ARN:
arn:aws:lambda:::function:GGIPDetector:1 GGSecretManager-
管理本機秘密的安全儲存,並依使用者定義的 Lambda 和連接器存取。
ARN:
arn:aws:lambda:::function:GGSecretManager:1 GGShadowService-
管理用戶端裝置的本機陰影。
ARN:
arn:aws:lambda:::function:GGShadowService GGShadowSyncManager-
如果裝置的
syncShadow屬性設定為 , AWS 雲端 則同步本機影子與核心裝置和用戶端裝置的true。ARN:
arn:aws:lambda:::function:GGShadowSyncManager GGStreamManager-
在本機處理資料串流,並執行自動匯出至 AWS 雲端。
ARN:
arn:aws:lambda:::function:GGStreamManager:1 GGTES-
擷取在本機程式碼用來存取服務之 Greengrass 群組角色中定義的 IAM 憑證的本機字符交換 AWS 服務。
ARN:
arn:aws:lambda:::function:GGTES