AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Chiamare l'API di controllo dello stato locale
AWS IoT Greengrasscontiene un'API HTTP locale che fornisce un'istantanea dello stato corrente dei processi di lavoro locali avviati daAWS IoT Greengrass. Questa istantanea include funzioni Lambda definite dall'utente e funzioni Lambda di sistema. Le funzioni di System Lambda fanno parte delAWS IoT GreengrassSoftware Core. Funzionano come processi di lavoro locale sul dispositivo core e gestiscono operazioni quali instradamento di messaggi, sincronizzazione shadow locale e rilevamento automatico dell'indirizzo IP.
L'API del controllo dello stato supporta le seguenti richieste:
-
Inviare una richiesta
GET
.ottenere informazioni sanitarie per tutti i lavoratori. -
Inviare una richiesta
POST
.ottenere informazioni sanitarie per determinati lavoratori.
Le richieste vengono inviate localmente sul dispositivo e non richiedono una connessione Internet.
Ottieni informazioni sanitarie per tutti i lavoratori
Inviare una richiestaGET
richiesta di ottenere informazioni sanitarie su tutti i lavoratori in corsa.
-
Replace (Sostituisci)
porto
con il numero di porta dell'IPC.
GET http://localhost:
port
/2016-11-01/health/workers
port
-
Il numero di porta dell'IPC.
Il valore può variare tra 1024 e 65535. Il valore predefinito è 8000.
Per modificare questo numero di porta, è possibile aggiornare il
ggDaemonPort
proprietà nelconfig.json
file. Per ulteriori informazioni, consulta la pagina File di configurazione di AWS IoT Greengrass Core .
Richiesta di esempio
L'esempio seguentecurl
request ottiene informazioni sanitarie per tutti i lavoratori.
curl http://localhost:8000/2016-11-01/health/workers
Risposta JSON
Questa richiesta restituisce un array diinformazioni sulla salute dei lavoratoriobjects.
Risposta di esempio
La seguente risposta di esempio elenca gli oggetti di informazioni sullo stato per tutti i processi di lavoro avviati daAWS 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" }, ... ]
Ottieni informazioni sanitarie su determinati lavoratori
Inviare una richiestaPOST
richiesta di ottenere informazioni sanitarie su determinati lavoratori. Replace (Sostituisci)porto
con il numero di porta dell'IPC. Il valore di default è 8000.
POST http://localhost:
port
/2016-11-01/health/workers
Richiesta di esempio
L'esempio seguentecurl
request ottiene informazioni sanitarie per i lavoratori specificati.
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
Ecco un esempio:body.json
corpo della richiesta:
{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }
Il corpo della richiesta contiene unFuncArns
matrice.
FuncArns
-
Un elenco di Amazon Resource Name (ARN) per le funzioni Lambda che rappresentano i lavoratori di destinazione.
Per funzioni Lambda definite dall'utente, specifica l'ARN della versione attualmente distribuita. Se sono state aggiunte funzioni Lambda al gruppo utilizzando un ARN alias, è possibile utilizzare la richiesta GET per ottenere tutti i lavoratori e quindi scegliere gli ARN per i quali si desidera eseguire la query.
Per le funzioni Lambda di sistema, specifica l'ARN della funzione Lambda corrispondente. Per ulteriori informazioni, consulta la pagina Funzioni System Lambda .
Tipo: Array of Strings
Lunghezza minima: 1
Lunghezza massima: Il numero totale di lavoratori avviati daAWS IoT Greengrasssul dispositivo core.
Risposta JSON
Questa richiesta restituisce unWorkers
matrice e unInvalidArns
matrice.
Workers
-
Un elenco di oggetti di informazioni sanitarie per i lavoratori specificati.
Tipo: matrice dioggetti di informazione sanitaria
InvalidArns
-
Un elenco di ARN di funzioni non validi, inclusi gli ARN di funzione che non hanno lavoratori associati.
Tipo: Array of Strings
Risposta di esempio
I seguenti elenchi di risposte di esempiooggetti di informazione sanitariaper i lavoratori specificati.
{ "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" ] }
Questa richiesta restituisce i seguenti errori:
- 400 Richiesta non valida
Il corpo della richiesta è errato. Per risolvere il problema, usa il formato seguente e invia di nuovo la richiesta:
{"FuncArns":["
function-1-arn
","function-2-arn
"]}- 400 La richiesta supera il numero massimo di lavoratori
Il numero di ARN specificato nella
FuncArns
array supera il numero di lavoratori.
Informazioni sulla salute dei lavoratori
Un oggetto di informazioni sulla salute include le seguenti proprietà:
FuncArn
-
L'ARN della funzione Lambda di sistema che rappresenta il worker.
Tipo:
string
WorkerId
-
L'ID del lavoratore. Questa proprietà può essere utile per il debugging. La
runtime.log
e i log delle funzioni Lambda contengono l'ID del lavoratore, quindi questa proprietà può essere particolarmente utile per eseguire il debug di una funzione Lambda su richiesta che attiva più istanze.Tipo:
string
ProcessId
-
L'ID del processo (PID) del processo di lavoro.
Tipo:
int
WorkerState
-
Lo stato del lavoratore.
Tipo:
string
Di seguito sono riportati alcuni stati di lavoro:
Working
-
Elaborazione di un messaggio.
Waiting
-
In attesa di un messaggio. Si applica a funzioni Lambda di lunga durata in esecuzione come daemon o processo autonomo.
Starting
-
Spun up, per iniziare.
FailedInitialization
-
Inizializzazione non riuscita.
Terminated
-
Arrestare dal daemon Greengrass
NotStarted
-
Impossibile avviare, effettuando un altro tentativo di avvio.
Initialized
-
Inizializzazione riuscita.
Funzioni System Lambda
È possibile richiedere informazioni sanitarie per le seguenti funzioni Lambda del sistema:
GGCloudSpooler
-
Gestisce la coda per i messaggi MQTT che hannoAWS IoT Corecome origine o destinazione.
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Instradamento di messaggi MQTT tra il dispositivo Greengrass core e i dispositivi client.
ARN:
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
Ascolta ilAWS IoTshadow per le modifiche agli endpoint IP del core e genera il certificato lato server utilizzato da GGConnManager per l'autenticazione reciproca.
ARN:
arn:aws:lambda:::function:GGDeviceCertificateManager
GGIPDetector
-
Gestisce il rilevamento automatico dell'indirizzo IP che permette ai dispositivi del gruppo Greengrass di scoprire il dispositivo Greengrass core. Questo servizio non è applicabile quando fornisci manualmente gli indirizzi IP.
ARN:
arn:aws:lambda:::function:GGIPDetector:1
GGSecretManager
-
Gestisce l'archiviazione sicura dei segreti locali e l'accesso tramite Lambda e connettori definiti dall'utente.
ARN:
arn:aws:lambda:::function:GGSecretManager:1
GGShadowService
-
Gestisce le ombre locali per i dispositivi client.
ARN:
arn:aws:lambda:::function:GGShadowService
GGShadowSyncManager
-
Sincronizza le ombre locali conCloud AWSper il dispositivo principale e i dispositivi client, se il dispositivo è
syncShadow
è impostata sutrue
.ARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Elaborazione locale di flussi di dati ed esegue esportazioni automatiche inCloud AWS.
ARN:
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
Il servizio di scambio token locale che recupera le credenziali IAM definite nel ruolo del gruppo Greengrass utilizzato dal codice locale per accedereAWSServizi .
ARN:
arn:aws:lambda:::function:GGTES