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.
Referenz zum Event
-Schema der 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. Beispielsweise:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Die Definition der OpenAPI-Spezifikation (OAS) der Abonnementantwortversion 2022-12-13
finden Sie unter:
Die folgende Tabelle enthält eine Zusammenfassung aller Event
-Objekttypen, die die Telemetrie-API unterstützt.
Kategorie | Ereignistyp | Beschreibung | Schema der Ereignisaufzeichnung |
---|---|---|---|
Plattform-Ereignis |
|
Die Funktionsinitialisierung wurde gestartet. |
platform.initStart-Schema |
Plattform-Ereignis |
|
Die Funktionsinitialisierung ist abgeschlossen. |
platform.initRuntimeDone-Schema |
Plattform-Ereignis |
|
Ein Bericht über die Funktionsinitialisierung. |
platform.initReport-Schema |
Plattform-Ereignis |
|
Der Funktionsaufruf wurde gestartet. |
platform.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. |
platform.restoreStart-Schema |
Plattform-Ereignis |
|
Die Laufzeitwiederherstellung wurde abgeschlossen. |
platform.restoreRuntimeDone-Schema |
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.logsDropped-Schema |
Funktionsprotokolle |
|
Eine Protokollzeile aus dem Funktionscode. |
function-Schema |
Erweiterungsprotokolle |
|
Eine Protokollzeile aus dem Erweiterungscode. |
extension-Schema |
Telemetrie-API Event
-Objekttypen
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 Funktion begonnen hat. 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.initRuntimeDone
Ein platform.initRuntimeDone
-Ereignis zeigt an, dass die Initialisierungsphase der Funktion abgeschlossen wurde. 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 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 } ] } }
platform.start
Ein platform.start
-Ereignis zeigt an, dass die Funktionsaufrufphase begonnen hat. 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 Funktionsaufrufphase abgeschlossen ist. Ein platform.runtimeDone
Event
-Objekt hat die folgende Form:
Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone
Dieses PlatformRuntimeDone
-Objekt hat die folgenden Attribute:
-
errorType? –
String
-
metrics? –
RuntimeDoneMetrics
Objekt -
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 Phase des Funktionsaufrufs. Ein platform.report
Event
-Objekt hat die folgende Form:
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", } }
platform.restoreStart
Ein platform.restoreStart
-Ereignis zeigt an, dass ein Ereignis zur Wiederherstellung der Funktionsumgebung 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 Lambda 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
-
instanceMaxMemory? –
String
-
runtimeVersion? –
String
-
runtimeVersionArn? –
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 } }
platform.restoreRuntimeDone
Ein platform.restoreRuntimeDone
-Ereignis weist darauf hin, dass ein Wiederherstellungsereignis der Funktionsumgebung 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 Lambda 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 Ereignis zur Funktionswiederherstellung. 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? –
RestoreReportMetrics
Objekt -
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 } ] } }
platform.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: {}
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" } }
platform.telemetrySubscription
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.logsDropped
Ein platform.logsDropped
-Ereignis enthält Informationen über gelöschte Ereignisse. Lambda gibt das platform.logsDropped
-Ereignis aus, wenn eine Funktion Protokolle schneller ausgibt, als Lambda sie verarbeiten kann. Wenn Lambda keine Protokolle an CloudWatch oder an die Erweiterung, die die Telemetrie-API abonniert hat, in der Geschwindigkeit senden kann, in der die Funktion sie erzeugt, werden Protokolle gelöscht, um die Ausführung der Funktion nicht zu verlangsamen. 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 Funktionscode. Ein function
Event
-Objekt hat die folgende Form:
Event: Object - time: String - type: String = function - record: {}
Das Format des Felds record
hängt davon ab, ob die Protokolle Ihrer Funktion im Klartext- oder JSON-Format formatiert sind. Weitere Informationen zu den Konfigurationsoptionen für das Protokollformat finden Sie unter Konfiguration JSON und Protokollformate im Klartext-Format.
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 "record"
immer als Zeichenfolge gerendert, auch wenn das Protokollierungsformat Ihrer Funktion als JSON konfiguriert ist.
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 Felds record
hängt davon ab, ob die Protokolle Ihrer Funktion im Klartext- oder JSON-Format formatiert sind. Weitere Informationen zu den Konfigurationsoptionen für das Protokollformat finden Sie unter Konfiguration JSON und Protokollformate im Klartext-Format.
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 "record"
immer als Zeichenfolge gerendert, auch wenn das Protokollierungsformat Ihrer Funktion als JSON konfiguriert ist.
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 Funktionsinitialisierungscode während der init
-Phase aus. In einigen Fehlerfällen kann Lambda jedoch den Funktionsinitialisierungscode während der invoke
-Phase erneut ausführen. (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:
-
Der
responseLatency
-Span beschreibt, wie lange es gedauert hat, bis Ihre Lambda-Funktion mit dem Senden der Antwort begonnen hat. -
Der
responseDuration
-Spanbeschreibt, wie lange es gedauert hat, bis Ihre Lambda-Funktion das Senden der Antwort abgeschlossen hat. -
Die
runtimeOverhead
-Spanne beschreibt, wie lange es gedauert hat, bis die Lambda-Laufzeit signalisiert hat, dass sie für die Verarbeitung des nächsten Funktionsaufrufs bereit ist. Dies ist die Zeit, die die Laufzeit benötigt hat, um die nächste Aufruf-API aufzurufen, um das nächste Ereignis nach der Rückgabe Ihrer Funktionsantwort zu erhalten.
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