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.
AWS IoT Greengrass enthält eine lokale HTTP-API, die eine Momentaufnahme des aktuellen Status der lokalen Worker-Prozesse bereitstellt, die von gestartet wurden AWS IoT Greengrass. Dieser Snapshot enthält benutzerdefinierte Lambda-Funktionen und Lambda-Systemfunktionen. System-Lambda-Funktionen sind Teil der AWS IoT Greengrass Core-Software. Sie werden als lokale Arbeitsprozesse auf dem Kerngerät ausgeführt und verwalten Vorgänge wie Nachrichtenweiterleitung, lokale Shadow-Synchronisierung und automatische Erkennung von IP-Adressen.
Die Health Check-API unterstützt die folgenden Anfragen:
-
Senden Sie eine
GET
Anfrage, um Gesundheitsinformationen für alle Arbeitnehmer zu erhalten. -
Senden Sie eine
POST
Anfrage, um Gesundheitsinformationen für bestimmte Arbeitnehmer zu erhalten.
Anfragen werden lokal auf dem Gerät gesendet und erfordern keine Internetverbindung.
Holen Sie sich Gesundheitsinformationen für alle Arbeitnehmer
Senden Sie eine GET
Anfrage, um Gesundheitsinformationen über alle laufenden Arbeitnehmer zu erhalten.
-
port
Ersetzen Sie es durch die 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 die
ggDaemonPort
Eigenschaft in derconfig.json
Datei aktualisieren. Weitere Informationen finden Sie unter AWS IoT Greengrass Kernkonfigurationsdatei.
Beispielanforderung
In der folgenden curl
Beispielanforderung werden Gesundheitsinformationen für alle Mitarbeiter abgerufen.
curl http://localhost:8000/2016-11-01/health/workers
JSON-Antwort
Diese Anfrage gibt eine Reihe von Objekten mit Gesundheitsinformationen für Arbeitnehmer zurück.
Beispielantwort
In der folgenden Beispielantwort werden Objekte mit Gesundheitsinformationen für alle Arbeitsprozesse aufgeführt, die von gestartet wurden 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"
},
...
]
Ruft Gesundheitsinformationen zu bestimmten Mitarbeitern ab
Senden Sie eine POST
Anfrage, um Gesundheitsinformationen zu bestimmten Arbeitnehmern zu erhalten. port
Ersetzen Sie es durch die Portnummer des IPC. Die Standardeinstellung ist 8000.
POST http://localhost:
port
/2016-11-01/health/workers
Beispielanforderung
Mit der folgenden curl
Beispielanforderung werden Gesundheitsinformationen für bestimmte Mitarbeiter abgerufen.
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
Hier ist ein Beispiel für einen body.json
Anfragetext:
{
"FuncArns": [
"arn:aws:lambda:::function:GGShadowService:1",
"arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3"
]
}
Der Hauptteil der Anfrage enthält ein FuncArns
Array.
FuncArns
-
Eine Liste von Amazon-Ressourcennamen (ARNs) für die Lambda-Funktionen, die die Ziel-Worker repräsentieren.
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 Worker auswählen, nach der ARNs Sie abfragen möchten.
Geben Sie für Lambda-Systemfunktionen den ARN der entsprechenden Lambda-Funktion an. Weitere Informationen finden Sie unter Lambda-Funktionen des Systems.
Typ: Zeichenfolge-Array
Mindestlänge: 1
Maximale Länge: Die Gesamtzahl der Worker, die AWS IoT Greengrass auf dem Core-Gerät gestartet wurden.
JSON-Antwort
Diese Anfrage gibt ein Workers
Array und ein InvalidArns
Array zurück.
Workers
-
Eine Liste von Objekten mit Gesundheitsinformationen für die angegebenen Mitarbeiter.
Typ: Anordnung von Objekten mit Gesundheitsinformationen
InvalidArns
-
Eine Liste von Funktionen ARNs , die ungültig sind, einschließlich Funktionen ARNs , denen keine Mitarbeiter zugeordnet sind.
Typ: Zeichenfolge-Array
Beispielantwort
In der folgenden Beispielantwort werden Objekte mit Gesundheitsinformationen für die angegebenen Mitarbeiter aufgeführt.
{
"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 Anfrage gibt die folgenden Fehler zurück:
- 400 Ungültige Anfrage
Der Text der Anfrage ist falsch formatiert. Um dieses Problem zu beheben, verwenden Sie das folgende Format und senden Sie die Anfrage erneut:
{"FuncArns":["
function-1-arn
","function-2-arn
"]}- Die Anfrage von 400 überschreitet die maximale Anzahl von Mitarbeitern
Die im
FuncArns
Array ARNs angegebene Anzahl von Mitarbeitern übersteigt die Anzahl der Arbeiter.
Informationen zur Gesundheit der Arbeitnehmer
Ein Objekt mit Gesundheitsinformationen enthält die folgenden Eigenschaften:
FuncArn
-
Der ARN der Lambda-Systemfunktion, die den Worker repräsentiert.
Typ:
string
WorkerId
-
Die ID des Arbeiters. Diese Eigenschaft kann beim Debuggen nützlich sein. Die
runtime.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 startet.Typ:
string
ProcessId
-
Die Prozess-ID (PID) des Worker-Prozesses.
Typ:
int
WorkerState
-
Der Status des Arbeiters.
Typ:
string
Folgende Staaten 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, losgelegt.
FailedInitialization
-
Fehler beim Initialisieren.
Terminated
-
Vom Greengrass-Daemon gestoppt
NotStarted
-
Der Start ist fehlgeschlagen. Es wurde ein weiterer Startversuch unternommen.
Initialized
-
Erfolgreich initialisiert.
Lambda-Funktionen des Systems
Sie können Gesundheitsinformationen für die folgenden Lambda-Systemfunktionen anfordern:
GGCloudSpooler
-
Verwaltet die Warteschlange für MQTT-Nachrichten, die AWS IoT Core als Quelle oder Ziel dienen.
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Leitet MQTT-Nachrichten zwischen dem Greengrass-Core und den Client-Geräten weiter.
ARN:
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
Überwacht den AWS IoT Shadow auf Änderungen an den IP-Endpunkten des Cores und generiert das serverseitige Zertifikat, das von GGConn Manager für die gegenseitige Authentifizierung verwendet wird.
ARN:
arn:aws:lambda:::function:GGDeviceCertificateManager
GGIPDetector
-
Verwaltet die automatische IP-Adresserkennung, die es Geräten in der Greengrass-Gruppe ermöglicht, 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 über benutzerdefinierte Lambda und Konnektoren.
ARN:
arn:aws:lambda:::function:GGSecretManager:1
GGShadowService
-
Verwaltet lokale Shadows für Client-Geräte.
ARN:
arn:aws:lambda:::function:GGShadowService
GGShadowSyncManager
-
Synchronisiert lokale Shadows mit den AWS Cloud für das Kerngerät und die Client-Geräte, wenn die
syncShadow
Geräteeigenschaft auftrue
eingestellt ist.ARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Verarbeitet Datenströme lokal und führt automatische Exporte in die AWS Cloud durch.
ARN:
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
Der lokale Token-Austauschdienst, der die in der Greengrass-Gruppenrolle definierten IAM-Anmeldeinformationen abruft, die der lokale Code für den Zugriff auf Dienste verwendet. AWS
ARN:
arn:aws:lambda:::function:GGTES