Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi skema API Telemetri Lambda Event
Gunakan titik akhir API Telemetri Lambda untuk berlangganan ekstensi ke aliran telemetri. Anda dapat mengambil titik akhir API Telemetri dari variabel lingkungan. AWS_LAMBDA_RUNTIME_API Untuk mengirim permintaan API, tambahkan versi API (2022-07-01/) dantelemetry/. Sebagai contoh:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Untuk definisi OpenAPI Specification (OAS) dari versi respons langganan2022-12-13, lihat berikut ini:
Tabel berikut adalah ringkasan dari semua jenis Event objek yang didukung oleh API Telemetri.
| Kategori | Jenis peristiwa | Deskripsi | Skema catatan acara |
|---|---|---|---|
|
Acara platform |
|
Inisialisasi fungsi dimulai. |
platform.initStartskema |
|
Acara platform |
|
Inisialisasi fungsi selesai. |
|
|
Acara platform |
|
Laporan inisialisasi fungsi. |
platform.initReportskema |
|
Acara platform |
|
Pemanggilan fungsi dimulai. |
platform.startskema |
|
Acara platform |
|
Runtime selesai memproses acara dengan keberhasilan atau kegagalan. |
platform.runtimeDoneskema |
|
Acara platform |
|
Laporan pemanggilan fungsi. |
platform.reportskema |
|
Acara platform |
|
Pemulihan runtime dimulai. |
|
|
Acara platform |
|
Pemulihan runtime selesai. |
|
|
Acara platform |
|
Laporan pemulihan runtime. |
|
|
Acara platform |
|
Ekstensi berlangganan API Telemetri. |
|
|
Acara platform |
|
Lambda menjatuhkan entri log. |
platform.logsDroppedskema |
|
Log fungsi |
|
Sebuah baris log dari kode fungsi. |
functionskema |
|
Log ekstensi: |
|
Sebuah baris log dari kode ekstensi. |
extensionskema |
Daftar Isi
Jenis objek API Event telemetri
Bagian ini merinci jenis Event objek yang didukung oleh API Telemetri Lambda. Dalam deskripsi peristiwa, tanda tanya (?) menunjukkan bahwa atribut mungkin tidak ada dalam objek.
platform.initStart
Sebuah platform.initStart peristiwa menunjukkan bahwa fase inisialisasi fungsi telah dimulai. Sebuah platform.initStart Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initStart - record: PlatformInitStart
PlatformInitStartObjek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.initRuntimeDone peristiwa menunjukkan bahwa fase inisialisasi fungsi telah selesai. Sebuah platform.initRuntimeDone Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initRuntimeDone - record: PlatformInitRuntimeDone
PlatformInitRuntimeDoneObjek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.initReport peristiwa berisi laporan keseluruhan dari fase inisialisasi fungsi. Sebuah platform.initReport Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initReport - record: PlatformInitReport
PlatformInitReportObjek memiliki atribut berikut:
-
ErrorType? — tali
-
InitializationType - objek
InitType -
fase —
InitPhaseobjek -
metrik — objek
InitReportMetrics -
bentang? — Daftar
Spanobjek -
status -
Statusobjek
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.start peristiwa menunjukkan bahwa fase pemanggilan fungsi telah dimulai. Sebuah platform.start Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.start - record: PlatformStart
PlatformStartObjek memiliki atribut berikut:
-
RequesTid —
String -
versi? —
String -
menelusuri? —
TraceContext
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.runtimeDone peristiwa menunjukkan bahwa fase pemanggilan fungsi telah selesai. Sebuah platform.runtimeDone Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone
PlatformRuntimeDoneObjek memiliki atribut berikut:
-
ErrorType? —
String -
metrik? —
RuntimeDoneMetricsobjek -
RequesTid —
String -
status -
Statusobjek -
bentang? — Daftar
Spanobjek -
menelusuri? —
TraceContextobjek
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.report peristiwa berisi laporan keseluruhan dari fase pemanggilan fungsi. Sebuah platform.report Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.report - record: PlatformReport
PlatformReportObjek memiliki atribut berikut:
-
metrik — objek
ReportMetrics -
RequesTid —
String -
bentang? — Daftar
Spanobjek -
status -
Statusobjek -
menelusuri? —
TraceContextobjek
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.restoreStart peristiwa menunjukkan bahwa acara restorasi lingkungan fungsi dimulai. Dalam acara restorasi lingkungan, Lambda menciptakan lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat Lambda SnapStart. Sebuah platform.restoreStart Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart
PlatformRestoreStartObjek memiliki atribut berikut:
-
FunctionName -
String -
FunctionVersion -
String -
InstanceId? —
String -
instanceMaxMemory? –
String -
RuntimeVersion? —
String -
runtimeVersionArn? –
String
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.restoreRuntimeDone peristiwa menunjukkan bahwa acara restorasi lingkungan fungsi selesai. Dalam acara restorasi lingkungan, Lambda menciptakan lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat Lambda SnapStart. Sebuah platform.restoreRuntimeDone Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone
PlatformRestoreRuntimeDoneObjek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.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
Sebuah platform.restoreReport peristiwa berisi laporan keseluruhan dari acara restorasi fungsi. Sebuah platform.restoreReport Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport
PlatformRestoreReportObjek memiliki atribut berikut:
-
ErrorType? — tali
-
metrik? —
RestoreReportMetricsobjek -
bentang? — Daftar
Spanobjek -
status -
Statusobjek
Berikut ini adalah contoh Event tipeplatform.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
Sebuah extension peristiwa berisi log dari kode ekstensi. Sebuah extension Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = extension - record: {}
PlatformExtensionObjek memiliki atribut berikut:
-
event — Daftar
String -
nama —
String -
negara —
String
Berikut ini adalah contoh Event tipeplatform.extension:
{ "time": "2022-10-12T00:02:15.000Z", "type": "platform.extension", "record": { "events": [ "INVOKE", "SHUTDOWN" ], "name": "my-telemetry-extension", "state": "Ready" } }
platform.telemetrySubscription
Sebuah platform.telemetrySubscription acara berisi informasi tentang langganan ekstensi. Sebuah platform.telemetrySubscription Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription
PlatformTelemetrySubscriptionObjek memiliki atribut berikut:
-
nama —
String -
negara —
String -
jenis — Daftar
String
Berikut ini adalah contoh Event tipeplatform.telemetrySubscription:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.telemetrySubscription", "record": { "name": "my-telemetry-extension", "state": "Subscribed", "types": [ "platform", "function" ] } }
platform.logsDropped
Sebuah platform.logsDropped acara berisi informasi tentang peristiwa yang dijatuhkan. Lambda memancarkan platform.logsDropped peristiwa ketika suatu fungsi mengeluarkan log pada tingkat yang terlalu tinggi bagi Lambda untuk memprosesnya. Ketika Lambda tidak dapat mengirim log ke CloudWatch atau ke ekstensi yang berlangganan Telemetri API pada tingkat yang dihasilkan fungsi, itu akan menjatuhkan log untuk mencegah eksekusi fungsi melambat. Sebuah platform.logsDropped Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.logsDropped - record: PlatformLogsDropped
PlatformLogsDroppedObjek memiliki atribut berikut:
-
DroppedBytes —
Integer -
DroppedRecords —
Integer -
alasan —
String
Berikut ini adalah contoh Event tipeplatform.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
Sebuah function peristiwa berisi log dari kode fungsi. Sebuah function Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = function - record: {}
Format record bidang tergantung pada apakah log fungsi Anda diformat dalam teks biasa atau format JSON. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa
Berikut ini adalah contoh Event jenis function di mana format log adalah teks biasa:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": "[INFO] Hello world, I am a function!" }
Berikut ini adalah contoh Event jenis function di mana format log adalah 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!" } }
catatan
Jika versi skema yang Anda gunakan lebih lama dari 2022-12-13 versi, maka versi selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai JSON.
extension
Sebuah extension peristiwa berisi log dari kode ekstensi. Sebuah extension Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = extension - record: {}
Format record bidang tergantung pada apakah log fungsi Anda diformat dalam teks biasa atau format JSON. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa
Berikut ini adalah contoh Event jenis extension di mana format log adalah teks biasa:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": "[INFO] Hello world, I am an extension!" }
Berikut ini adalah contoh Event jenis extension di mana format log adalah 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!" } }
catatan
Jika versi skema yang Anda gunakan lebih lama dari 2022-12-13 versi, maka versi selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai JSON.
Jenis objek bersama
Bagian ini merinci jenis objek bersama yang didukung oleh API Telemetri Lambda.
InitPhase
Sebuah string enum yang menggambarkan fase ketika langkah inisialisasi terjadi. Dalam kebanyakan kasus, Lambda menjalankan kode inisialisasi fungsi selama fase. init Namun, dalam beberapa kasus kesalahan, Lambda dapat menjalankan kembali kode inisialisasi fungsi selama fase. invoke (Ini disebut init yang ditekan.)
-
Jenis -
String -
Nilai yang valid -
init|invoke|snap-start
InitReportMetrics
Objek yang berisi metrik tentang fase inisialisasi.
-
Jenis -
Object
Sebuah InitReportMetrics objek memiliki bentuk sebagai berikut:
InitReportMetrics: Object - durationMs: Double
Berikut ini adalah contoh InitReportMetrics objek:
{ "durationMs": 247.88 }
InitType
Sebuah string enum yang menjelaskan bagaimana Lambda menginisialisasi lingkungan.
-
Jenis -
String -
Nilai yang valid -
on-demand|provisioned-concurrency
ReportMetrics
Objek yang berisi metrik tentang fase selesai.
-
Jenis -
Object
Sebuah ReportMetrics objek memiliki bentuk sebagai berikut:
ReportMetrics: Object - billedDurationMs: Integer - durationMs: Double - initDurationMs?: Double - maxMemoryUsedMB: Integer - memorySizeMB: Integer - restoreDurationMs?: Double
Berikut ini adalah contoh ReportMetrics objek:
{ "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }
RestoreReportMetrics
Objek yang berisi metrik tentang fase restorasi selesai.
-
Jenis -
Object
Sebuah RestoreReportMetrics objek memiliki bentuk sebagai berikut:
RestoreReportMetrics: Object - durationMs: Double
Berikut ini adalah contoh RestoreReportMetrics objek:
{ "durationMs": 15.19 }
RuntimeDoneMetrics
Objek yang berisi metrik tentang fase pemanggilan.
-
Jenis -
Object
Sebuah RuntimeDoneMetrics objek memiliki bentuk sebagai berikut:
RuntimeDoneMetrics: Object - durationMs: Double - producedBytes?: Integer
Berikut ini adalah contoh RuntimeDoneMetrics objek:
{ "durationMs": 200.0, "producedBytes": 15 }
Span
Objek yang berisi detail tentang rentang. Rentang mewakili unit kerja atau operasi dalam jejak. Untuk informasi selengkapnya tentang rentang, lihat Span
Lambda mendukung rentang berikut untuk acara tersebut: platform.RuntimeDone
-
responseLatencyRentang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk mulai mengirim respons. -
responseDurationRentang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk menyelesaikan pengiriman seluruh respons. -
runtimeOverheadRentang menjelaskan berapa lama waktu yang dibutuhkan runtime Lambda untuk memberi sinyal bahwa ia siap untuk memproses pemanggilan fungsi berikutnya. Ini adalah waktu yang dibutuhkan runtime untuk memanggil API pemanggilan berikutnya untuk mendapatkan acara berikutnya setelah mengembalikan respons fungsi Anda.
Berikut ini adalah contoh objek responseLatency span:
{ "name": "responseLatency", "start": "2022-08-02T12:01:23.521Z", "durationMs": 23.02 }
Status
Objek yang menggambarkan status fase inisialisasi atau pemanggilan. Jika statusnya salah satu failure atauerror, maka Status objek juga berisi errorType bidang yang menjelaskan kesalahan.
-
Jenis -
Object -
Nilai status yang valid -
success|failure|error|timeout
TraceContext
Objek yang menggambarkan sifat-sifat jejak.
-
Jenis -
Object
Sebuah TraceContext objek memiliki bentuk sebagai berikut:
TraceContext: Object - spanId?: String - type: TracingType enum - value: String
Berikut ini adalah contoh TraceContext objek:
{ "spanId": "073a49012f3c312e", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }
TracingType
Sebuah string enum yang menggambarkan jenis tracing dalam suatu TraceContext objek.
-
Jenis -
String -
Nilai yang valid -
X-Amzn-Trace-Id