AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Appel de l'API de contrôle de santé locale
AWS IoT Greengrasscontient une API HTTP locale qui fournit un instantané de l'état actuel des processus de travail locaux démarrés parAWS IoT Greengrass. Cet instantané inclut des fonctions Lambda définies par l'utilisateur et des fonctions Lambda système. Les fonctions Lambda du système font partie de laAWS IoT GreengrassLogiciel Core. Ils s'exécutent comme des processus de travail local sur l'appareil principal et gèrent les opérations telles que le routage des messages, la synchronisation du shadow local et la détection automatique d'adresse IP automatique.
L'API de contrôle de santé prend en charge les demandes suivantes :
-
Envoyez une demande
GET
de la demandeobtenir des informations de santé pour tous les travailleurs. -
Envoyez une demande
POST
de la demandeobtenir des informations sur la santé de certains travailleurs.
Les demandes sont envoyées localement sur l'appareil et ne nécessitent pas de connexion Internet.
Obtenir des informations de santé pour tous les travailleurs
Envoyez une demandeGET
demande pour obtenir des informations de santé sur tous les travailleurs en cours d'exécution.
-
Remplacez
port
avec le numéro de port de l'IPC.
GET http://localhost:
port
/2016-11-01/health/workers
port
-
Numéro de port de l'IPC.
La valeur peut varier entre 1 024 et 65 535. La valeur par défaut est 8 000.
Pour modifier ce numéro de port, vous pouvez mettre à jour le
ggDaemonPort
propriété dans leconfig.json
dans le fichier. Pour plus d'informations, consultez Fichier de configuration de AWS IoT Greengrass Core.
Exemple de demande
L'exemple suivantcurl
request obtient des informations de santé pour tous les travailleurs.
curl http://localhost:8000/2016-11-01/health/workers
Réponse JSON
Cette demande renvoie un tableau deRenseignements personnels sur la santéobjets.
Exemple de réponse
L'exemple de réponse suivant répertorie les objets d'informations d'intégrité pour tous les processus de travail qui ont été démarrés parAWS 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" }, ... ]
Obtenir des informations sur la santé de certains travailleurs
Envoyez une demandePOST
demande d'obtenir des informations sur la santé de certains travailleurs. Remplacezport
avec le numéro de port de l'IPC. La valeur par défaut est 8 000.
POST http://localhost:
port
/2016-11-01/health/workers
Exemple de demande
L'exemple suivantcurl
request obtient des informations de santé pour des travailleurs spécifiques.
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
Voici un exemplebody.json
corps de la demande :
{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }
Le corps de la demande contient unFuncArns
tableau.
FuncArns
-
Liste d'ARN (Amazon Resource Name) pour les fonctions Lambda qui représentent les travailleurs cibles.
Pour les fonctions Lambda définies par l'utilisateur, spécifiez l'ARN de la version actuellement déployée. Si vous avez ajouté des fonctions Lambda au groupe à l'aide d'un alias ARN, vous pouvez utiliser la requête GET pour obtenir tous les travailleurs, puis choisir les ARN que vous souhaitez interroger.
Pour les fonctions Lambda du système, spécifiez l'ARN de la fonction Lambda correspondante. Pour plus d'informations, consultez Fonctions Lambda du système.
Type : tableau de chaînes
Longueur minimale : 1
Longueur maximale : Nombre total de travailleurs démarrés parAWS IoT Greengrasssur l'appareil principal.
Réponse JSON
Cette demande renvoie unWorkers
tableau et unInvalidArns
tableau.
Workers
-
Une liste d'objets d'informations de santé pour les travailleurs spécifiés.
Type : tableauobjets sur la santé
InvalidArns
-
Liste des ARN de fonction non valides, y compris les ARN de fonction auxquels aucun programme de travail n'est associé.
Type : tableau de chaînes
Exemple de réponse
Les exemples de listes de réponses suivantsobjets sur la santépour les travailleurs spécifiés.
{ "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" ] }
Cette demande renvoie les erreurs suivantes :
- 400 Demande non valide
Le corps de la demande est incorrect. Pour résoudre ce problème, utilisez le format suivant et renvoyez la demande :
{"FuncArns":["
function-1-arn
","function-2-arn
"]}- 400 demandes dépassant le nombre maximum de travailleurs
Le nombre d'ARN spécifiés dans le
FuncArns
du tableau dépasse le nombre d'employés.
Renseignements personnels sur la santé
Un objet d'information sur la santé contient les propriétés suivantes :
FuncArn
-
ARN de la fonction Lambda du système qui représente l'application de travail.
Type:
string
WorkerId
-
ID du travail. Cette propriété peut être utile pour le débogage. Le
runtime.log
et les journaux de la fonction Lambda contiennent l'ID du worker. Cette propriété peut donc être particulièrement utile pour déboguer une fonction Lambda à la demande qui fait tourner plusieurs instances.Type:
string
ProcessId
-
ID de processus (PID) du processus de travail.
Type:
int
WorkerState
-
État du travail.
Type:
string
Les états de travail possibles sont les suivants :
Working
-
Traitement d'un message.
Waiting
-
J'attends un message. S'applique aux fonctions Lambda de longue durée exécutées en tant que démon ou processus autonome.
Starting
-
Spun up, pour commencer.
FailedInitialization
-
Impossible d'initialiser.
Terminated
-
Arrêté par le démon Greengrass
NotStarted
-
Impossible de démarrer, nouvelle tentative de démarrage.
Initialized
-
Initialisation réussie.
Fonctions Lambda du système
Vous pouvez demander des informations d'intégrité pour les fonctions Lambda système suivantes :
GGCloudSpooler
-
Gère la file d'attente pour les messages MQTT qui ontAWS IoT Corecomme source ou cible.
ARN :
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Acheminement des messages MQTT entre le noyau Greengrass et les appareils clients.
ARN :
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
Écoute leAWS IoTshadow pour les modifications apportées aux points de terminaison IP du cœur et génère le certificat côté serveur utilisé par GGConnManager pour l'authentification mutuelle.
ARN :
arn:aws:lambda:::function:GGDeviceCertificateManager
GGIPDetector
-
Gère la détection automatique d'adresse IP qui permet aux appareils du groupe Greengrass de détecter votre appareil Greengrass principal. Ce service n'est pas applicable lorsque vous fournissez des adresses IP manuellement.
ARN :
arn:aws:lambda:::function:GGIPDetector:1
GGSecretManager
-
Gère le stockage sécurisé des secrets locaux et l'accès par Lambda et connecteurs définis par l'utilisateur.
ARN :
arn:aws:lambda:::function:GGSecretManager:1
GGShadowService
-
Gère les ombres locales pour les appareils clients.
ARN :
arn:aws:lambda:::function:GGShadowService
GGShadowSyncManager
-
Synchronise les ombres locales avec leAWS Cloudpour l'appareil principal et les appareils clients, si
syncShadow
est définie surtrue
.ARN :
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Traite les flux de données localement et effectue des exportations automatiques versAWS Cloud.
ARN :
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
Service local d'échange de jetons qui récupère les informations d'identification IAM définies dans le rôle de groupe Greengrass utilisé par le code local pour accéderAWSServices .
ARN :
arn:aws:lambda:::function:GGTES