Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Riferimento allo schema degli eventi dell'API di telemetria Lambda
Utilizza l'endpoint dell'API di telemetria Lambda per sottoscrivere le estensioni ai flussi di telemetria. È possibile recuperare l'endpoint dell'API di telemetria dalla variabile di ambiente AWS_LAMBDA_RUNTIME_API. Per inviare una richiesta API, aggiungi la versione dell'API (2022-07-01/) e telemetry/. Ad esempio:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Per la definizione della specifica OpenAPI (OAS) della versione delle risposte alla sottoscrizione 2025-01-29, consulta quanto segue:
La tabella seguente è un riepilogo di tutti i tipi di oggetti Event supportati dall'API di telemetria.
| Categoria | Tipo di evento | Description | Schema dei registri di eventi |
|---|---|---|---|
|
Evento della piattaforma |
|
Inizializzazione della funzione avviata. |
Schema Platform.initStart |
|
Evento della piattaforma |
|
Inizializzazione della funzione completata. |
|
|
Evento della piattaforma |
|
Un rapporto sull'inizializzazione della funzione. |
Schema Rapporto Platform.init |
|
Evento della piattaforma |
|
L'invocazione della funzione è stata avviata. |
Schema platform.start |
|
Evento della piattaforma |
|
Il runtime ha terminato l'elaborazione di un evento con esito positivo o negativo. |
Schema platform.runtimeDone |
|
Evento della piattaforma |
|
Un rapporto sull'invocazione di una funzione. |
Schema platform.report |
|
Evento della piattaforma |
|
Il ripristino del runtime è iniziato. |
Schema Platform.RestoreStart |
|
Evento della piattaforma |
|
Il ripristino del runtime è stato completato. |
|
|
Evento della piattaforma |
|
Rapporto di ripristino del runtime. |
Schema Rapporto Platform.restore |
|
Evento della piattaforma |
|
L'estensione che ha eseguito la sottoscrizione all'API di telemetria. |
|
|
Evento della piattaforma |
|
Lambda ha eliminato le voci del log. |
|
|
Log delle funzioni |
|
Una riga del log dal codice della funzione. |
Schema funzione |
|
Log di estensioni |
|
Una riga di log dal codice dell'estensione. |
Schema Estensione |
Indice
Tipi di oggetti Event dell'API di telemetria
Questa sezione descrive in dettaglio i tipi di oggetti Event supportati dall'API di telemetria Lambda. Nelle descrizioni degli eventi, un punto interrogativo (?) indica che l'attributo potrebbe non essere presente nell'oggetto.
Platform.initStart
Un evento platform.initStart indica che la fase di inizializzazione della funzione è stata avviata. Un oggetto platform.initStart Event ha la seguente forma:
Event: Object - time: String - type: String = platform.initStart - record: PlatformInitStart
L'oggetto PlatformInitStart ha i seguenti attributi:
Di seguito è riportato un esempio Event di tipo 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 } }
piattaforma. init RuntimeDone
Un evento platform.initRuntimeDone indica che la fase di inizializzazione della funzione è stata completata. Un oggetto platform.initRuntimeDone Event ha la seguente forma:
Event: Object - time: String - type: String = platform.initRuntimeDone - record: PlatformInitRuntimeDone
L'oggetto PlatformInitRuntimeDone ha i seguenti attributi:
-
initializationType: oggetto
InitType -
phase: oggetto
InitPhase -
status: oggetto
Stato -
spans? : elenco di oggetti
Intervallo
Di seguito è riportato un esempio Event di tipo 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 } ] } }
Rapporto Platform.init
Un evento platform.initReport contiene un rapporto generale della fase di inizializzazione della funzione. Un oggetto platform.initReport Event ha la seguente forma:
Event: Object - time: String - type: String = platform.initReport - record: PlatformInitReport
L'oggetto PlatformInitReport ha i seguenti attributi:
-
errorType?: stringa
-
initializationType: oggetto
InitType -
phase: oggetto
InitPhase -
metrics: oggetto
InitReportMetrics -
spans? : elenco di oggetti
Intervallo -
status: oggetto
Stato
Di seguito è riportato un esempio Event di tipo 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
Un evento platform.start indica che la fase di invocazione della funzione è stata avviata. Un oggetto platform.start Event ha la seguente forma:
Event: Object - time: String - type: String = platform.start - record: PlatformStart
L'oggetto PlatformStart ha i seguenti attributi:
-
requestId:
String -
version?:
String -
tracing?:
TraceContext
Di seguito è riportato un esempio Event di tipo 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
Un evento platform.runtimeDone indica che la fase di invocazione della funzione è stata completata. Un oggetto platform.runtimeDone Event ha la seguente forma:
Istanze Lambda gestite
L'platform.runtimeDoneevento non è supportato per le istanze gestite Lambda. Le estensioni in esecuzione su istanze gestite non ricevono questo evento perché le estensioni non possono iscriversi all'INVOKEevento su istanze gestite. A causa del modello di esecuzione simultanea in cui è possibile elaborare più invocazioni contemporaneamente, le estensioni non possono eseguire l'elaborazione post-richiamo per le singole chiamate come avviene tradizionalmente sulle funzioni Lambda (predefinite).
Per le istanze gestite, gli responseDuration intervalli responseLatency e normalmente inclusi sono invece disponibili nell'evento. platform.runtimeDone platform.report Per informazioni dettagliate, vedi platform.report.
Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone
L'oggetto PlatformRuntimeDone ha i seguenti attributi:
-
errorType?:
String -
metrics?: oggetto
RuntimeDoneMetrics -
requestId:
String -
status: oggetto
Stato -
spans? : elenco di oggetti
Intervallo -
tracing?: oggetto
TraceContext
Di seguito è riportato un esempio Event di tipo 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
Un evento platform.report contiene un rapporto generale della fase di invocazione della funzione. Un oggetto platform.report Event ha la seguente forma:
Istanze Lambda gestite
L'platform.reportevento per le istanze gestite Lambda ha metriche e intervalli diversi rispetto alle funzioni Lambda (predefinite). Per le istanze gestite:
-
Intervallo: contiene
responseLatencyeresponseDurationinvece di.extensionOverheadL'extensionOverheadintervallo non è disponibile perché le estensioni non possono sottoscrivere l'INVOKEevento sulle istanze gestite a causa del modello di esecuzione simultanea. -
Metriche: include solo.
durationMsLe seguenti metriche non sono incluse:billedDurationMs,initDurationMsmaxMemoryUsedMB, e.memorySizeMBQueste metriche per richiamo non sono applicabili nell'ambiente di esecuzione simultanea. Per le metriche sull'utilizzo delle risorse, utilizza o Lambda Insights. Monitoraggio delle istanze gestite Lambda https://docs.aws.amazon.com/lambda/latest/dg/monitoring-insights.html
Event: Object - time: String - type: String = platform.report - record: PlatformReport
L'oggetto PlatformReport ha i seguenti attributi:
-
metrics: oggetto
ReportMetrics -
requestId:
String -
spans? : elenco di oggetti
Intervallo -
status: oggetto
Stato -
tracing?: oggetto
TraceContext
Di seguito è riportato un esempio Event di tipo 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
Un evento platform.restoreStart indica che un evento di ripristino dell'ambiente della funzione è stato avviato. In un evento di ripristino dell'ambiente, Lambda crea l'ambiente da uno snapshot memorizzato nella cache anziché inizializzarlo da zero. Per ulteriori informazioni, consulta SnapStart. Un oggetto platform.restoreStart Event ha la seguente forma:
Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart
L'oggetto PlatformRestoreStart ha i seguenti attributi:
-
functionName:
String -
functionVersion:
String -
instanceId?:
String -
istanzaMaxMemory? —
String -
runtimeVersion?:
String -
tempo di esecuzioneVersionArn? —
String
Di seguito è riportato un esempio Event di tipo 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 } }
piattaforma. Restore RuntimeDone
Un evento platform.restoreRuntimeDone indica che un evento di ripristino dell'ambiente della funzione è stato completato. In un evento di ripristino dell'ambiente, Lambda crea l'ambiente da uno snapshot memorizzato nella cache anziché inizializzarlo da zero. Per ulteriori informazioni, consulta SnapStart. Un oggetto platform.restoreRuntimeDone Event ha la seguente forma:
Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone
L'oggetto PlatformRestoreRuntimeDone ha i seguenti attributi:
-
errorType?:
String -
spans? : elenco di oggetti
Intervallo -
status: oggetto
Stato
Di seguito è riportato un esempio Event di tipo 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 } ] } }
Rapporto Platform.restore
Un evento platform.restoreReport contiene un rapporto generale di un evento di ripristino della funzione. Un oggetto platform.restoreReport Event ha la seguente forma:
Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport
L'oggetto PlatformRestoreReport ha i seguenti attributi:
-
errorType?: stringa
-
metrics?: oggetto
RestoreReportMetrics -
spans? : elenco di oggetti
Intervallo -
status: oggetto
Stato
Di seguito è riportato un esempio Event di tipo 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.estensione
Un evento extension contiene i log del codice dell'estensione. Un oggetto extension Event ha la seguente forma:
Event: Object - time: String - type: String = extension - record: {}
L'oggetto PlatformExtension ha i seguenti attributi:
-
events: elenco di
String -
name:
String -
state:
String
Di seguito è riportato un esempio Event di tipo platform.extension:
{ "time": "2022-10-12T00:02:15.000Z", "type": "platform.extension", "record": { "events": [ "INVOKE", "SHUTDOWN" ], "name": "my-telemetry-extension", "state": "Ready" } }
Abbonamento a platform.telemetry
Un evento platform.telemetrySubscription contiene informazioni su una sottoscrizione dell'estensione. Un oggetto platform.telemetrySubscription Event ha la seguente forma:
Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription
L'oggetto PlatformTelemetrySubscription ha i seguenti attributi:
-
name:
String -
state:
String -
tipi: elenco di
String
Di seguito è riportato un esempio Event di tipo platform.telemetrySubscription:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.telemetrySubscription", "record": { "name": "my-telemetry-extension", "state": "Subscribed", "types": [ "platform", "function" ] } }
Platform.logs è stato eliminato
Un evento platform.logsDropped contiene informazioni sugli eventi eliminati. Quando una funzione genera log a una velocità troppo elevata per consentire a Lambda di elaborarli, Lambda emette l'evento platform.logsDropped. Quando Lambda non è in grado di inviare log a CloudWatch o all'estensione sottoscritta all'API di Telemetry alla velocità con cui la funzione li produce, elimina i log per evitare che l'esecuzione della funzione rallenti. Un oggetto platform.logsDropped Event ha la seguente forma:
Event: Object - time: String - type: String = platform.logsDropped - record: PlatformLogsDropped
L'oggetto PlatformLogsDropped ha i seguenti attributi:
-
droppedBytes:
Integer -
droppedRecords:
Integer -
reason:
String
Di seguito è riportato un esempio Event di tipo 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" } }
funzione
Un evento function contiene i log del codice della funzione. Un oggetto function Event ha la seguente forma:
Event: Object - time: String - type: String = function - record: {}
Il formato del campo record dipende dal fatto che i log della funzione siano formattati in testo normale o JSON. Per ulteriori informazioni sulle opzioni di configurazione del formato dei log, consulta la pagina Configurazione dei formati di log JSON e testo normale
Di seguito è riportato un esempio di Event di tipo function in cui il formato di log è il testo normale:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": "[INFO] Hello world, I am a function!" }
Di seguito è riportato un esempio di Event di tipo function in cui il formato di log è JSON:
{ "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!" } }
Nota
Se la versione dello schema che stai utilizzando è precedente alla versione 2022-12-13, il "record" viene sempre visualizzato come stringa anche quando il formato di registrazione della funzione è configurato come JSON. Per le istanze gestite da Lambda, è necessario utilizzare la versione dello schema. 2025-01-29
Estensione
Un evento extension contiene i log del codice dell'estensione. Un oggetto extension Event ha la seguente forma:
Event: Object - time: String - type: String = extension - record: {}
Il formato del campo record dipende dal fatto che i log della funzione siano formattati in testo normale o JSON. Per ulteriori informazioni sulle opzioni di configurazione del formato dei log, consulta la pagina Configurazione dei formati di log JSON e testo normale
Di seguito è riportato un esempio di Event di tipo extension in cui il formato di log è il testo normale:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": "[INFO] Hello world, I am an extension!" }
Di seguito è riportato un esempio di Event di tipo extension in cui il formato di log è JSON:
{ "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!" } }
Nota
Se la versione dello schema che stai utilizzando è precedente alla versione 2022-12-13, il "record" viene sempre visualizzato come stringa anche quando il formato di registrazione della funzione è configurato come JSON. Per le istanze gestite Lambda, è necessario utilizzare la versione dello schema. 2025-01-29
Tipi di oggetti condivisi
Questa sezione descrive in dettaglio i tipi di oggetti condivisi supportati dall'API di telemetria Lambda.
InitPhase
Una stringa enum che descrive la fase in cui si verifica l'operazione di inizializzazione. Nella maggior parte dei casi, Lambda esegue il codice di inizializzazione della funzione durante la fase init. Tuttavia, in alcuni casi di errore, Lambda può eseguire nuovamente il codice di inizializzazione della funzione durante la fase invoke. (Questa è chiamata init soppressa.)
-
Tipo:
String -
Valori validi:
init|invoke|snap-start
InitReportMetrics
Un oggetto che contiene parametri relativi a una fase di inizializzazione.
-
Tipo:
Object
Un oggetto InitReportMetrics ha la seguente forma:
InitReportMetrics: Object - durationMs: Double
Di seguito è illustrato un esempio di oggetto InitReportMetrics di esempio:
{ "durationMs": 247.88 }
InitType
Una stringa enum che descrive come Lambda ha inizializzato l'ambiente.
-
Tipo:
String -
Valori validi:
on-demand|provisioned-concurrency
ReportMetrics
Un oggetto che contiene i parametri di una fase completata.
-
Tipo:
Object
Un oggetto ReportMetrics ha la seguente forma:
ReportMetrics: Object - billedDurationMs: Integer - durationMs: Double - initDurationMs?: Double - maxMemoryUsedMB: Integer - memorySizeMB: Integer - restoreDurationMs?: Double
Di seguito è illustrato un esempio di oggetto ReportMetrics di esempio:
{ "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }
RestoreReportMetrics
Un oggetto che contiene i parametri di una fase di ripristino completata.
-
Tipo:
Object
Un oggetto RestoreReportMetrics ha la seguente forma:
RestoreReportMetrics: Object - durationMs: Double
Di seguito è illustrato un esempio di oggetto RestoreReportMetrics di esempio:
{ "durationMs": 15.19 }
RuntimeDoneMetrics
Un oggetto che contiene parametri relativi a una fase di chiamata.
-
Tipo:
Object
Un oggetto RuntimeDoneMetrics ha la seguente forma:
RuntimeDoneMetrics: Object - durationMs: Double - producedBytes?: Integer
Di seguito è illustrato un esempio di oggetto RuntimeDoneMetrics di esempio:
{ "durationMs": 200.0, "producedBytes": 15 }
Intervallo
Un oggetto che contiene i dettagli di un intervallo. Un intervallo rappresenta un'unità di lavoro o un'operazione in una traccia. Per ulteriori informazioni sugli intervalli, consulta Span
Lambda supporta i seguenti intervalli per l'evento platform.RuntimeDone:
-
L'intervallo
responseLatencydescrive il tempo impiegato dalla funzione Lambda per iniziare a inviare la risposta. -
L'intervallo
responseDurationdescrive il tempo impiegato dalla funzione Lambda per finire di inviare la risposta. -
L'intervallo
runtimeOverheaddescrive il tempo impiegato dal runtime di Lambda per segnalare che è pronto per l'elaborazione del richiamo successivo della funzione. Questo è il tempo impiegato dal runtime per il richiamo dell'API dell'invocazione successiva per ottenere l'evento successivo dopo aver restituito la risposta della funzione.
Di seguito è illustrato un oggetto di intervallo responseLatency di esempio:
{ "name": "responseLatency", "start": "2022-08-02T12:01:23.521Z", "durationMs": 23.02 }
Stato
Un oggetto che descrive lo stato di una fase di inizializzazione o invocazione. Se lo stato è failure o error, l'oggetto Statuscontiene anche un campo errorType che descrive l'errore.
-
Tipo:
Object -
Valori di stato validi:
success|failure|error|timeout
TraceContext
Un oggetto che descrive le proprietà di una traccia.
-
Tipo:
Object
Un oggetto TraceContext ha la seguente forma:
TraceContext: Object - spanId?: String - type: TracingType enum - value: String
Di seguito è illustrato un esempio di oggetto TraceContext di esempio:
{ "spanId": "073a49012f3c312e", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }
TracingType
Una stringa enum che descrive il tipo di tracciamento in un oggetto TraceContext.
-
Tipo:
String -
Valori validi:
X-Amzn-Trace-Id