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 di API Event
telemetria Lambda
Usa l'APIendpoint Lambda Telemetry per sottoscrivere le estensioni ai flussi di telemetria. È possibile recuperare l'endpoint di telemetria dalla variabile di ambiente. API AWS_LAMBDA_RUNTIME_API
Per inviare una API richiesta, aggiungi la versione () e. API 2022-07-01/
telemetry/
Per esempio:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Per la definizione Open API Specification (OAS) della versione delle risposte all'abbonamento2022-12-13
, vedere quanto segue:
La tabella seguente è un riepilogo di tutti i tipi di Event
oggetti supportati da TelemetryAPI.
Categoria | Tipo di evento | Descrizione | Schema dei registri di eventi |
---|---|---|---|
Evento della piattaforma |
|
Inizializzazione della funzione avviata. |
Schema platform.initStart |
Evento della piattaforma |
|
Inizializzazione della funzione completata. |
Schema platform.initRuntimeDone |
Evento della piattaforma |
|
Un rapporto sull'inizializzazione della funzione. |
Schema platform.initReport |
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. |
Schema platform.restoreRuntimeDone |
Evento della piattaforma |
|
Rapporto di ripristino del runtime. |
Schema platform.restoreReport |
Evento della piattaforma |
|
L'estensione è stata sottoscritta alla telemetria. API |
|
Evento della piattaforma |
|
Lambda ha eliminato le voci del log. |
Schema platform.logsDropped |
Log delle funzioni |
|
Una riga del log dal codice della funzione. |
Schema function |
Log di estensioni |
|
Una riga di log dal codice dell'estensione. |
Schema extension |
APIEvent
Tipi di oggetti di telemetria
Questa sezione descrive in dettaglio i tipi di Event
oggetti supportati da Lambda API Telemetry. 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 } }
platform.initRuntimeDone
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:
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 } ] } }
platform.initReport
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? — corda
-
initializationType—
InitType
oggetto -
phase: oggetto
InitPhase
-
metrics: oggetto
InitReportMetrics
-
spans? : elenco di oggetti
Span
-
status: oggetto
Status
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:
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
Status
-
spans? : elenco di oggetti
Span
-
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 platform.report
evento contiene un rapporto generale della fase di invocazione della funzione. Un oggetto platform.report
Event
ha la seguente forma:
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
Span
-
status: oggetto
Status
-
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 Lambda 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
-
instanceMaxMemory? –
String
-
runtimeVersion? –
String
-
runtimeVersionArn? –
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 } }
platform.restoreRuntimeDone
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 Lambda 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:
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 } ] } }
platform.restoreReport
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? — corda
-
metrics?: oggetto
RestoreReportMetrics
-
spans? : elenco di oggetti
Span
-
status: oggetto
Status
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.extension
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" } }
platform.telemetrySubscription
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.logsDropped
Un evento platform.logsDropped
contiene informazioni sugli eventi eliminati. Lambda emette l'platform.logsDropped
evento quando una funzione emette i log a una velocità troppo alta perché Lambda possa elaborarli. Quando Lambda non è in grado di inviare log a CloudWatch o verso l'estensione sottoscritta a Telemetry API 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" } }
function
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 record
campo dipende dal fatto che i log della funzione siano formattati in testo normale o in formato. Per ulteriori informazioni sulle opzioni di configurazione del JSON formato dei log, consulta Configurazione JSON e formati di registro in testo semplice
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 Event
di tipo in function
cui si trova il formato di registro: 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 2022-12-13
versione, "record"
viene sempre visualizzata come stringa anche quando il formato di registrazione della funzione è configurato come. JSON
extension
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 record
campo dipende dal fatto che i log della funzione siano formattati in testo semplice o in formatoJSON. Per ulteriori informazioni sulle opzioni di configurazione del formato di registro, vedere Configurazione JSON e formati di registro in testo semplice
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 Event
di tipo in extension
cui si trova il formato di registro: 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 2022-12-13
versione, "record"
viene sempre visualizzata come stringa anche quando il formato di registrazione della funzione è configurato come. JSON
Tipi di oggetti condivisi
Questa sezione descrive in dettaglio i tipi di oggetti condivisi supportati da Lambda API Telemetry.
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 }
Span
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 span, consulta Span
Lambda supporta i seguenti intervalli per l'evento platform.RuntimeDone
:
-
L'intervallo
responseLatency
descrive il tempo impiegato dalla funzione Lambda per iniziare a inviare la risposta. -
L'intervallo
responseDuration
descrive il tempo impiegato dalla funzione Lambda per finire di inviare la risposta. -
L'intervallo
runtimeOverhead
descrive 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 chiamare la chiamata successiva per ottenere l'evento successivo dopo aver API 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 }
Status
Un oggetto che descrive lo stato di una fase di inizializzazione o invocazione. Se lo stato è failure
o error
, l'oggetto Status
contiene 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