Referenz zur Lambda-Telemetrie-API
Verwenden Sie den Lambda-Telemetrie-API-Endpunkt, um Erweiterungen für Telemetrie-Streams zu abonnieren. Sie können den Telemtrie-API-Endpunkts aus der AWS_LAMBDA_RUNTIME_API-Umgebungsvariable abrufen. Um eine API-Anfrage zu senden, fügen Sie die API-Version (2022-07-01/) und telemetry/ an. Zum Beispiel:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Die Definition der OpenAPI-Spezifikation (OAS) der Abonnementantwortversion 2022-12-13 finden Sie unter:
API-Operationen
Abonnieren
Um einen Telemetrie-Stream zu abonnieren, kann eine Lambda-Erweiterung eine Abonnement-API-Anfrage senden.
-
Pfad –
/telemetry -
Methode –
PUT -
Kopfzeilen
Content-Type:application/json
-
Anfrage von Textparametern
-
schemaVersion
Erforderlich: Ja
Typ: Zeichenkette
Gültige Werte:
"2022-12-13"oder"2022-07-01".
-
Ziel – Die Konfigurationseinstellungen, die das Ziel des Telemetrieereignisses und das Protokoll für die Ereignisübermittlung definieren.
Erforderlich: Ja
-
Typ: Objekt
{ "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" } -
Protokoll – Das Protokoll, das Lambda zum Senden von Telemetriedaten verwendet.
Erforderlich: Ja
Typ: Zeichenkette
Gültige Werte:
"HTTP"|"TCP"
-
URI – Der URI, an den Telemetriedaten gesendet werden sollen.
Erforderlich: Ja
Typ: Zeichenkette
-
Weitere Informationen finden Sie unter Festlegen eines Zielprotokolls.
-
Typen – Die Telemetrietypen, die die Erweiterung abonnieren soll.
Erforderlich: Ja
Typ: Zeichenfolgen-Array
-
Zulässige Werte:
"platform"|"function"|"extension"
-
Pufferung – Die Konfigurationseinstellungen für die Ereignispufferung.
Erforderlich: Nein
-
Typ: Objekt
{ "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 } } -
maxItems – Die maximale Anzahl der Ereignisse im Speicher, die gepuffert werden sollen.
Erforderlich: Nein
Typ: Ganzzahl
Standard: 1 000
Mindestwert 1 000
Höchstwert: 10 000.
-
maxBytes – Das maximale Telemetrievolumen (in Bytes), das im Speicher gepuffert werden soll.
Erforderlich: Nein
Typ: Ganzzahl
Standard: 262 144
Mindestwert: 262 144
Höchstwert: 1 048 576
-
timeoutMs – Die maximale Zeit (in Millisekunden) zum Puffern eines Batches.
Erforderlich: Nein
Typ: Ganzzahl
Standard: 1 000
Minimum: 25
Höchstwert: 30 000
Weitere Informationen finden Sie unter Konfiguration der Speichernutzung und Pufferung.
-
Beispiel für eine Abonnement-API-Anfrage
PUT http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry HTTP/1.1 { "schemaVersion": "2022-12-13", "types": [ "platform", "function", "extension" ], "buffering": { "maxItems": 1000, "maxBytes": 256*1024, "timeoutMs": 100 }, "destination": { "protocol": "HTTP", "URI": "http://sandbox.localdomain:8080" } }
Wenn die Abonnement-Anfrage erfolgreich war, erhält die Erweiterung eine Erfolgsbestätigung (HTTP 200):
HTTP/1.1 200 OK "OK"
Wenn die Abonnement-Anfrage fehlschlägt, erhält die Erweiterung eine Fehlerantwort. Zum Beispiel:
HTTP/1.1 400 OK { "errorType": "ValidationError", "errorMessage": "URI port is not provided; types should not be empty" }
Hier sind einige zusätzliche Antwortcodes, die die Erweiterung empfangen kann:
-
200 – Anfrage erfolgreich abgeschlossen
-
202 – Anfrage wurde akzeptiert. Antwort auf die Abonnement-Anfrage in einer lokalen Testumgebung
-
400 – Ungültige Anfrage
-
500 – Servicefehler