Referenz zur Lambda-Telemetrie-API - AWS Lambda

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

  • MethodePUT

  • 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