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.
Lambda-Telemetrie-API-Ereignisschemareferenz
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. Beispiel:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Die Definition der OpenAPI-Spezifikation (OAS) der Abonnementantwortversion 2025-01-29 finden Sie unter:
Die folgende Tabelle enthält eine Zusammenfassung aller Event-Objekttypen, die die Telemetrie-API unterstützt.
| Kategorie | Ereignistyp | Description | Schema der Ereignisaufzeichnung |
|---|---|---|---|
|
Plattform-Ereignis |
|
Die Funktionsinitialisierung wurde gestartet. |
Platform.InitStart-Schema |
|
Plattform-Ereignis |
|
Die Funktionsinitialisierung ist abgeschlossen. |
platform.init RuntimeDone-Schema |
|
Plattform-Ereignis |
|
Ein Bericht über die Funktionsinitialisierung. |
Platform.InitReport-Schema |
|
Plattform-Ereignis |
|
Der Funktionsaufruf wurde gestartet. |
Plattform.Start-Schema |
|
Plattform-Ereignis |
|
Die Laufzeit hat die Verarbeitung eines Ereignisses erfolgreich oder mit einem Fehler abgeschlossen. |
platform.runtimeDone-Schema |
|
Plattform-Ereignis |
|
Ein Bericht über den Funktionsaufruf. |
platform.report-Schema |
|
Plattform-Ereignis |
|
Die Laufzeitwiederherstellung wurde gestartet. |
|
|
Plattform-Ereignis |
|
Die Laufzeitwiederherstellung wurde abgeschlossen. |
|
|
Plattform-Ereignis |
|
Bericht über die Laufzeitwiederherstellung. |
Platform.RestoreReport-Schema |
|
Plattform-Ereignis |
|
Die Erweiterung hat die Telemetrie-API abonniert. |
|
|
Plattform-Ereignis |
|
Lambda hat die Protokolleinträge gelöscht. |
Platform.Logs wurde gelöscht-Schema |
|
Funktionsprotokolle |
|
Eine Protokollzeile aus dem Funktionscode. |
function-Schema |
|
Erweiterungsprotokolle |
|
Eine Protokollzeile aus dem Erweiterungscode. |
extension-Schema |
Objekttypen für Telemetrie-API-Ereignisse
Dieser Abschnitt beschreibt die Arten der Event-Objekte, die die Lambda-Telemetrie-API unterstützt. In den Ereignisbeschreibungen weist ein Fragezeichen (?) darauf hin, dass das Attribut möglicherweise nicht in diesem Objekt vorhanden ist.
Platform.InitStart
Ein platform.initStart Ereignis zeigt an, dass die Initialisierungsphase der Event-Funktion gestartet wurde. Ein platform.initStart Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.initStart - record: PlatformInitStart
Dieses PlatformInitStart-Objekt hat die folgenden Attribute:
Es folgt ein Beispiel für Event des Typs platform.initStart:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.initStart", "record": { "initializationType": "on-demand", "phase": "init", "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }
platform.init RuntimeDone
Ein platform.initRuntimeDone Ereignis zeigt an, dass die Initialisierungsphase der Event-Funktion abgeschlossen ist. Ein platform.initRuntimeDone Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.initRuntimeDone - record: PlatformInitRuntimeDone
Dieses PlatformInitRuntimeDone-Objekt hat die folgenden Attribute:
Es folgt ein Beispiel für Event des Typs platform.initRuntimeDone:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initRuntimeDone", "record": { "initializationType": "on-demand" "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 70.5 } ] } }
Platform.InitReport
Ein platform.initReport Ereignis enthält einen Gesamtbericht über die Initialisierungsphase der Event-Funktion. Ein platform.initReport Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.initReport - record: PlatformInitReport
Dieses PlatformInitReport-Objekt hat die folgenden Attribute:
-
errorType? – Zeichenfolge
-
initializationType –
InitType-Objekt -
phase –
InitPhase-Objekt -
metrics –
InitReportMetrics-Objekt -
spans? – Liste von
Span-Objekten -
status –
Status-Objekt
Es folgt ein Beispiel für Event des Typs platform.initReport:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initReport", "record": { "initializationType": "on-demand", "status": "success", "phase": "init", "metrics": { "durationMs": 125.33 }, "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 90.1 } ] } }
Plattform.Start
Ein platform.start Ereignis zeigt an, dass die Aufrufphase der Event-Funktion gestartet wurde. Ein platform.start Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.start - record: PlatformStart
Dieses PlatformStart-Objekt hat die folgenden Attribute:
-
requestId –
String -
version? –
String -
tracing? –
TraceContext
Es folgt ein Beispiel für Event des Typs platform.start:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.start", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "version": "$LATEST", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" } } }
platform.runtimeDone
Ein platform.runtimeDone Ereignis zeigt an, dass die Aufrufphase der Event-Funktion abgeschlossen ist. Ein platform.runtimeDone Event-Objekt hat die folgende Form:
Von Lambda verwaltete Instances
Das platform.runtimeDone Ereignis wird für Lambda Managed Instances nicht unterstützt. Erweiterungen, die auf verwalteten Instanzen ausgeführt werden, erhalten dieses Ereignis nicht, da Erweiterungen das INVOKE Ereignis auf verwalteten Instanzen nicht abonnieren können. Aufgrund des Modells der gleichzeitigen Ausführung, bei dem mehrere Aufrufe gleichzeitig verarbeitet werden können, können Erweiterungen keine Verarbeitung nach dem Aufrufen für einzelne Aufrufe durchführen, wie dies üblicherweise bei Lambda-Funktionen (Standard) der Fall ist.
Bei verwalteten Instanzen sind die Bereiche responseLatency und, die normalerweise responseDuration enthalten sind, stattdessen im Ereignis verfügbar. platform.runtimeDone platform.report Details dazu finden Sie unter platform.report.
Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone
Dieses PlatformRuntimeDone-Objekt hat die folgenden Attribute:
-
errorType? –
String -
metrics? –
RuntimeDoneMetricsObjekt -
requestId –
String -
status –
Status-Objekt -
spans? – Liste von
Span-Objekten -
tracing? –
TraceContext-Objekt
Es folgt ein Beispiel für Event des Typs platform.runtimeDone:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.runtimeDone", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "status": "success", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ], "metrics": { "durationMs": 140.0, "producedBytes": 16 } } }
platform.report
Ein platform.report Ereignis enthält einen Gesamtbericht über die Aufrufphase der Ereignisfunktion. Ein platform.report Event-Objekt hat die folgende Form:
Von Lambda verwaltete Instances
Das platform.report Ereignis für Lambda Managed Instances hat im Vergleich zu Lambda-Funktionen (Standard) andere Metriken und Spannweiten. Für verwaltete Instanzen:
-
Spans: Enthält
responseLatencyundresponseDurationstatt.extensionOverheadDieextensionOverheadSpanne ist nicht verfügbar, da Erweiterungen dasINVOKEEreignis auf verwalteten Instanzen aufgrund des parallelen Ausführungsmodells nicht abonnieren können. -
Metriken: Beinhaltet
durationMsnur. Die folgenden Metriken sind nicht enthalten:billedDurationMsinitDurationMs,maxMemoryUsedMB, undmemorySizeMB. Diese Metriken pro Aufruf sind in der Umgebung für die gleichzeitige Ausführung nicht anwendbar. Verwenden Überwachung von mit Lambda verwalteten Instances Sie Lambda Insights für Kennzahlen zur Ressourcennutzung.
Event: Object - time: String - type: String = platform.report - record: PlatformReport
Dieses PlatformReport-Objekt hat die folgenden Attribute:
-
metrics –
ReportMetrics-Objekt -
requestId –
String -
spans? – Liste von
Span-Objekten -
Status –
Status-Objekt -
Nachverfolgung? –
TraceContext-Objekt
Es folgt ein Beispiel für Event des Typs platform.report:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.report", "record": { "metrics": { "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }, "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", } }
Plattform. Neustart wiederherstellen
Ein platform.restoreStart Ereignis weist darauf hin, dass ein Ereignis zur Wiederherstellung der Event Function-Umgebung gestartet wurde. Bei einem Wiederherstellungsereignis einer Umgebung erstellt Lambda die Umgebung aus einem im Cache gespeicherten Snapshot, anstatt diese von Grund auf neu zu initialisieren. Weitere Informationen finden Sie unter SnapStart. Ein platform.restoreStart Event Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart
Dieses PlatformRestoreStart-Objekt hat die folgenden Attribute:
-
functionName –
String -
functionVersion –
String -
instanceId? –
String -
InstanzMaxMemory? —
String -
runtimeVersion? –
String -
LaufzeitVersionArn? —
String
Es folgt ein Beispiel für Event des Typs platform.restoreStart:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreStart", "record": { "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }
plattform.wiederherstellen RuntimeDone
Ein platform.restoreRuntimeDone Ereignis weist darauf hin, dass ein Ereignis zur Wiederherstellung der Event Function-Umgebung abgeschlossen wurde. Bei einem Wiederherstellungsereignis einer Umgebung erstellt Lambda die Umgebung aus einem im Cache gespeicherten Snapshot, anstatt diese von Grund auf neu zu initialisieren. Weitere Informationen finden Sie unter SnapStart. Ein platform.restoreRuntimeDone Event Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone
Dieses PlatformRestoreRuntimeDone-Objekt hat die folgenden Attribute:
Es folgt ein Beispiel für Event des Typs platform.restoreRuntimeDone:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreRuntimeDone", "record": { "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ] } }
Platform.RestoreReport
Ein platform.restoreReport Ereignis enthält einen Gesamtbericht über ein Wiederherstellungsereignis für die Event-Funktion. Ein platform.restoreReport Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport
Dieses PlatformRestoreReport-Objekt hat die folgenden Attribute:
-
errorType? – Zeichenfolge
-
metrics? –
RestoreReportMetricsObjekt -
spans? – Liste von
Span-Objekten -
status –
Status-Objekt
Es folgt ein Beispiel für Event des Typs platform.restoreReport:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreReport", "record": { "status": "success", "metrics": { "durationMs": 15.19 }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 30.0 } ] } }
Plattform.Erweiterung
Ein extension-Ereignis enthält Protokolle aus dem Erweiterungscode. Ein extension Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = extension - record: {}
Dieses PlatformExtension-Objekt hat die folgenden Attribute:
-
events – Liste von
String -
name –
String -
status –
String
Es folgt ein Beispiel für Event des Typs platform.extension:
{ "time": "2022-10-12T00:02:15.000Z", "type": "platform.extension", "record": { "events": [ "INVOKE", "SHUTDOWN" ], "name": "my-telemetry-extension", "state": "Ready" } }
Plattform.Telemetrieabonnement
Ein platform.telemetrySubscription-Ereignis enthält Informationen zu einem Erweiterungsabonnement. Ein platform.telemetrySubscription Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription
Dieses PlatformTelemetrySubscription-Objekt hat die folgenden Attribute:
-
name –
String -
status –
String -
types – Liste von
String
Es folgt ein Beispiel für Event des Typs platform.telemetrySubscription:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.telemetrySubscription", "record": { "name": "my-telemetry-extension", "state": "Subscribed", "types": [ "platform", "function" ] } }
Platform.Logs wurde gelöscht
Ein platform.logsDropped-Ereignis enthält Informationen über gelöschte Ereignisse. Lambda gibt das platform.logsDropped Ereignis aus, wenn eine Event-Funktion Logs mit einer zu hohen Rate ausgibt, als dass Lambda sie verarbeiten könnte. Wenn Lambda Protokolle nicht mit der Geschwindigkeit an CloudWatch oder an die Erweiterung senden kann, die die Telemetrie-API abonniert hat, werden Protokolle gelöscht, um zu verhindern, dass die Ausführung der Ereignisfunktion verlangsamt wird. Ein platform.logsDropped Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.logsDropped - record: PlatformLogsDropped
Dieses PlatformLogsDropped-Objekt hat die folgenden Attribute:
-
droppedBytes –
Integer -
droppedRecords –
Integer -
reason –
String
Es folgt ein Beispiel für Event des Typs platform.logsDropped:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.logsDropped", "record": { "droppedBytes": 12345, "droppedRecords": 123, "reason": "Some logs were dropped because the downstream consumer is slower than the logs production rate" } }
function
Ein function Ereignis enthält Protokolle aus dem Code der Ereignisfunktion. Ein function Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = function - record: {}
Das Format des record Felds hängt davon ab, ob die Protokolle Ihrer Event-Funktion im Klartext- oder JSON-Format formatiert sind. Weitere Informationen zu den Konfigurationsoptionen für das Protokollformat finden Sie unter Konfiguration der JSON- und Klartext-Protokollformate
Im Folgenden finden Sie ein Beispiel für Event vom Typ function, bei dem das Protokollformat Klartext ist:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": "[INFO] Hello world, I am a function!" }
Im Folgenden finden Sie ein Beispiel für Event vom Typ function, bei dem das Protokollformat JSON ist:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am a function!" } }
Anmerkung
Wenn die von Ihnen verwendete Schemaversion älter als die 2022-12-13 Version ist, wird sie immer als Zeichenfolge gerendert, auch wenn das Protokollierungsformat Ihrer Event-Funktion als JSON konfiguriert ist. "record" Für Lambda Managed Instances müssen Sie die Schemaversion 2025-01-29 verwenden.
extension
Ein extension-Ereignis enthält Protokolle aus dem Erweiterungscode. Ein extension Event-Objekt hat die folgende Form:
Event: Object - time: String - type: String = extension - record: {}
Das Format des record Felds hängt davon ab, ob die Logs Ihrer Event-Funktion im Klartext- oder JSON-Format formatiert sind. Weitere Informationen zu den Konfigurationsoptionen für das Protokollformat finden Sie unter Konfiguration der JSON- und Klartext-Protokollformate
Im Folgenden finden Sie ein Beispiel für Event vom Typ extension, bei dem das Protokollformat Klartext ist:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": "[INFO] Hello world, I am an extension!" }
Im Folgenden finden Sie ein Beispiel für Event vom Typ extension, bei dem das Protokollformat JSON ist:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am an extension!" } }
Anmerkung
Wenn die von Ihnen verwendete Schemaversion älter als die 2022-12-13 Version ist, wird sie immer als Zeichenfolge gerendert, auch wenn das Protokollierungsformat Ihrer Event-Funktion als JSON konfiguriert ist. "record" Für Lambda Managed Instances müssen Sie die Schemaversion 2025-01-29 verwenden.
Freigegebene Objekttypen
Dieser Abschnitt beschreibt die Arten von freigegebenen Objekten, die die Lambda-Telemetrie-API unterstützt.
InitPhase
Eine Zeichenfolgenaufzählung, die die Phase beschreibt, in der der Initialisierungsschritt auftritt. In den meisten Fällen führt Lambda den Initialisierungscode der Event Function während der init Phase aus. In einigen Fehlerfällen kann Lambda jedoch den Initialisierungscode der Ereignisfunktion während der Phase erneut ausführen. invoke (Dies wird als suppressed init bezeichnet.)
-
Typ: –
String -
Gültige Werte –
init|invoke|snap-start
InitReportMetrics
Ein Objekt, das Metriken zu einer Initialisierungsphase enthält.
-
Typ: –
Object
Ein InitReportMetrics-Objekt hat die folgende Form:
InitReportMetrics: Object - durationMs: Double
Es folgt ein Beispiel für ein InitReportMetrics-Objekt:
{ "durationMs": 247.88 }
InitType
Eine Zeichenfolgenaufzählung, die beschreibt, wie Lambda die Umgebung initialisiert hat.
-
Typ: –
String -
Gültige Werte –
on-demand|provisioned-concurrency
ReportMetrics
Ein Objekt, das Details zu einer abgeschlossenen Phase enthält.
-
Typ: –
Object
Ein ReportMetrics-Objekt hat die folgende Form:
ReportMetrics: Object - billedDurationMs: Integer - durationMs: Double - initDurationMs?: Double - maxMemoryUsedMB: Integer - memorySizeMB: Integer - restoreDurationMs?: Double
Es folgt ein Beispiel für ein ReportMetrics-Objekt:
{ "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }
RestoreReportMetrics
Ein Objekt, das Metriken über eine abgeschlossene Wiederherstellungsphase enthält.
-
Typ: –
Object
Ein RestoreReportMetrics-Objekt hat die folgende Form:
RestoreReportMetrics: Object - durationMs: Double
Es folgt ein Beispiel für ein RestoreReportMetrics-Objekt:
{ "durationMs": 15.19 }
RuntimeDoneMetrics
Ein Objekt, das Metriken über eine Aufrufphase enthält.
-
Typ: –
Object
Ein RuntimeDoneMetrics-Objekt hat die folgende Form:
RuntimeDoneMetrics: Object - durationMs: Double - producedBytes?: Integer
Es folgt ein Beispiel für ein RuntimeDoneMetrics-Objekt:
{ "durationMs": 200.0, "producedBytes": 15 }
Span
Ein Objekt, das Details einem Span enthält. Ein Span stellt eine Arbeitseinheit oder einen Vorgang in einer Ablaufverfolgung dar. Weitere Informationen zu Spans finden Sie unter Span
Lambda unterstützt die folgenden zwei Bereiche für das platform.RuntimeDone-Ereignis:
-
Die
responseLatencySpanne beschreibt, wie lange es gedauert hat, bis Ihre Lambda-Event-Funktion mit dem Senden der Antwort begonnen hat. -
Die
responseDurationSpanne beschreibt, wie lange es gedauert hat, bis Ihre Lambda-Ereignisfunktion das Senden der gesamten Antwort abgeschlossen hat. -
Die
runtimeOverheadSpanne beschreibt, wie lange es gedauert hat, bis die Lambda-Laufzeit signalisiert hat, dass sie bereit ist, den nächsten Aufruf der Event-Funktion zu verarbeiten. So lange hat die Laufzeit gedauert, bis die API für den nächsten Aufruf aufgerufen wurde, um das nächste Ereignis abzurufen, nachdem Ihre Antwort auf die Event-Funktion zurückgegeben wurde.
Es folgt ein Beispiel für ein Objekt des responseLatency-Spans:
{ "name": "responseLatency", "start": "2022-08-02T12:01:23.521Z", "durationMs": 23.02 }
Status
Ein Objekt, das den Status einer Initialisierungs- oder Aufrufphase beschreibt. Wenn der Status entweder failure oder error ist, dann enthält das Status-Objekt auch ein errorType-Feld, das den Fehler beschreibt.
-
Typ: –
Object -
Gültige Statuswerte –
success|failure|error|timeout
TraceContext
Ein Objekt, das die Eigenschaften einer Ablaufverfolgung beschreibt.
-
Typ: –
Object
Ein TraceContext-Objekt hat die folgende Form:
TraceContext: Object - spanId?: String - type: TracingType enum - value: String
Es folgt ein Beispiel für ein TraceContext-Objekt:
{ "spanId": "073a49012f3c312e", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }
TracingType
Eine Zeichenfolgenaufzählung, die den Ablaufverfolgungstyp in einem TraceContext-Objekt beschreibt.
-
Typ: –
String -
Gültige Werte –
X-Amzn-Trace-Id