Aufruf der lokalen Health Check-API - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aufruf der lokalen Health Check-API

AWS IoT Greengrassenthält eine lokale HTTP-API, die eine Momentaufnahme des aktuellen Status der lokalen Arbeitsprozesse liefert, die vonAWS IoT Greengrassaus. Dieser Snapshot umfasst benutzerdefinierte Lambda-Funktionen und Lambda-Systemfunktionen. System-Lambda-Funktionen sind Teil derAWS IoT GreengrassCore-Software. Sie laufen als lokale Worker Prozesse auf dem Core-Gerät und verwalten Operationen wie z. B. dem Nachrichtenrouting, der Synchronisierung des lokalen Schattens und der automatischen IP-Adressenerkennung.

Die Health Check-API unterstützt die folgenden Anfragen:

Anfragen werden lokal auf dem Gerät gesendet und benötigen keine Internetverbindung.

Holen Sie sich Gesundheitsinformationen für alle Arbeitnehmer

Senden Sie eineGETAnfrage, Gesundheitsinformationen über alle laufenden Arbeiter zu erhalten.

  • ErsetzenHafenmit der Portnummer des IPC.

GET http://localhost:port/2016-11-01/health/workers
port

Die Portnummer des IPC.

Der Wert kann zwischen 1024 und 65535 variieren. Der Standardwert ist 8000.

Um diese Portnummer zu ändern, können Sie dieggDaemonPort-Eigenschaft in derconfig.jsonfile. Weitere Informationen finden Sie unter AWS IoT Greengrass Core-Konfigurationsdatei.

Beispielanforderung

Das folgende Beispielcurlrequest ruft Gesundheitsinformationen für alle Arbeitnehmer ab.

curl http://localhost:8000/2016-11-01/health/workers

JSON-Antwort

Diese Anforderung gibt ein Array vonInformationen zur Gesundheit der Arbeitnehmer&S3;

Beispielantwort

Die folgende Beispielantwort listet Integritätsinformationsobjekte für alle Arbeitsprozesse auf, die vonAWS IoT Greengrassaus.

[ { "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" }, ... ]

Holen Sie sich Gesundheitsinformationen über bestimmte Mitarbeiter

Senden Sie einePOSTAnfrage, Gesundheitsinformationen über bestimmte Arbeitnehmer zu erhalten. ErsetzenHafenmit der Portnummer des IPC. Der Standardwert ist 8000.

POST http://localhost:port/2016-11-01/health/workers

Beispielanforderung

Das folgende Beispielcurlrequest ruft Gesundheitsinformationen für bestimmte Arbeitnehmer ab.

curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers

Ein Beispielbody.jsonAnfrage Body:

{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }

Der Anfragetext enthält eineFuncArnsArray.

FuncArns

Eine Liste der Amazon-Ressourcennamen (ARNs) für die Lambda-Funktionen, die die Ziel-Worker darstellen.

  • Geben Sie für benutzerdefinierte Lambda-Funktionen den ARN der aktuell bereitgestellten Version an. Wenn Sie der Gruppe Lambda-Funktionen mithilfe eines Alias-ARN hinzugefügt haben, können Sie die GET-Anfrage verwenden, um alle Worker abzurufen, und dann die ARNs auswählen, nach denen Sie abfragen möchten.

  • Geben Sie für System-Lambda-Funktionen den ARN der entsprechenden Lambda-Funktion an. Weitere Informationen finden Sie unter System-Lambda-Funktionen.

Typ: Zeichenfolge-Array

Mindestlänge: 1

Höchstlänge: Die Gesamtanzahl der Worker begann vonAWS IoT Greengrassauf dem Core-Gerät.

JSON-Antwort

Diese Anfrage gibt eineWorkers-Array und einInvalidArnsArray.

Workers

Eine Liste von Objekten mit Gesundheitsinformationen für die angegebenen Arbeitskräfte.

Typ: Zeichenfolge-ArrayObjekte mit Gesundheitsinformationen

InvalidArns

Eine Liste von Funktions-ARNs, die ungültig sind, einschließlich Funktions-ARNs, denen keine Worker zugeordnet sind.

Typ: Zeichenfolge-Array

Beispielantwort

Die folgenden BeispielantwortlistenObjekte mit Gesundheitsinformationenfür die angegebenen Arbeiter.

{ "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" ] }

Diese Anforderung gibt die folgenden Fehler zurück:

400 Ungültige Anfrage

Der Anfragetext ist schlecht geformt. Um dieses Problem zu beheben, senden Sie die Anfrage erneut:

{"FuncArns":["function-1-arn","function-2-arn"]}
400 Anfrage überschreitet die maximale Anzahl von Arbeitern

Die Anzahl der ARNs, die in derFuncArns-Array überschreitet die Anzahl der Worker.

Informationen zur Gesundheit der Arbeitnehmer

Ein Gesundheitsinformation-Objekt enthält die folgenden Eigenschaften:

FuncArn

Der ARN der System-Lambda-Funktion, die den Worker darstellt.

Typ: string

WorkerId

Die ID des Worker. Diese Eigenschaft kann beim Debuggen nützlich sein. Dieruntime.log-Datei und die Lambda-Funktionsprotokolle enthalten die Worker-ID, sodass diese Eigenschaft besonders nützlich sein kann, um eine On-Demand-Lambda-Funktion zu debuggen, die mehrere Instanzen hochfährt.

Typ: string

ProcessId

Die Prozess-ID (PID) des Worker Prozesses.

Typ: int

WorkerState

Der Zustand des Worker.

Typ: string

Folgende Worker Stati sind möglich:

Working

Eine Nachricht wird verarbeitet.

Waiting

Ich warte auf eine Nachricht. Gilt für langlebige Lambda-Funktionen, die als Daemon oder eigenständiger Prozess ausgeführt werden.

Starting

Hochgefahren, loslegen.

FailedInitialization

Initialisierung fehlgeschlagen.

Terminated

Stoppen von vom Greengrass-Daemon

NotStarted

Fehler beim Starten, erneuter Startversuch.

Initialized

Erfolgreich initialisiert.

System-Lambda-Funktionen

Sie können Gesundheitsinformationen für die folgenden Lambda-Funktionen des Systems anfordern:

GGCloudSpooler

Verwaltet die Warteschlange für MQTT-Nachrichten, dieAWS IoT Coreals Quelle oder Ziel.

ARN: arn:aws:lambda:::function:GGCloudSpooler:1

GGConnManager

Leitet MQTT-Nachrichten zwischen Greengrass Core- und Client-Geräten weiter.

ARN: arn:aws:lambda:::function:GGConnManager

GGDeviceCertificateManager

Hört aufAWS IoTshadow für Änderungen an den IP-Endpunkten des Cores und generiert das von GG verwendete serverseitige ZertifikatConnManager für die gegenseitige Authentifizierung.

ARN: arn:aws:lambda:::function:GGDeviceCertificateManager

GGIPDetector

Verwaltet die automatische Erkennung von IP-Adressen, die Geräte der Greengrass-Gruppe in die Lage versetzt, das Greengrass Core-Gerät zu erkennen. Dieser Dienst ist nicht verfügbar, wenn Sie IP-Adressen manuell angeben.

ARN: arn:aws:lambda:::function:GGIPDetector:1

GGSecretManager

Verwaltet die sichere Speicherung lokaler Geheimnisse und den Zugriff durch benutzerdefinierte Lambda und Konnektoren.

ARN: arn:aws:lambda:::function:GGSecretManager:1

GGShadowService

Verwaltet lokale Schatten für Client-Geräte.

ARN: arn:aws:lambda:::function:GGShadowService

GGShadowSyncManager

Synchronisiert lokale Schatten mitAWS Cloudfür das Kerngerät und die Client-Geräte, wenn das GerätsyncShadow-Eigenschaft ist festgelegt auftrueaus.

ARN: arn:aws:lambda:::function:GGShadowSyncManager

GGStreamManager

Verarbeitet Datenströme lokal und führt automatische Exporte in dieAWS Cloudaus.

ARN: arn:aws:lambda:::function:GGStreamManager:1

GGTES

Der lokale Token-Austauschdienst, der IAM-Anmeldeinformationen abruft, die in der Greengrass-Gruppenrolle definiert sind und auf die lokaler Code zugreiftAWS-Services.

ARN: arn:aws:lambda:::function:GGTES