Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan runtime Lambda untuk runtime khusus API
AWS Lambda menyediakan runtime khusus HTTP API untuk menerima acara pemanggilan dari Lambda dan mengirim data respons kembali dalam lingkungan eksekusi Lambda. Bagian ini berisi API referensi untuk runtime Lambda. API
APISpesifikasi Terbuka untuk API versi runtime 2018-06-01 tersedia di runtime-api.zip
Untuk membuat API permintaanURL, runtime mendapatkan API titik akhir dari variabel AWS_LAMBDA_RUNTIME_API
lingkungan, menambahkan API versi, dan menambahkan jalur sumber daya yang diinginkan.
contoh Permintaan
curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/next"
Invokasi berikutnya
Jalur – /runtime/invocation/next
Metode - GET
Runtime mengirimkan pesan ini ke Lambda untuk meminta peristiwa invokasi. Badan respons berisi muatan dari pemanggilan, yang merupakan JSON dokumen yang berisi data peristiwa dari pemicu fungsi. Header respons berisi data tambahan tentang invokasi.
Header respons
-
Lambda-Runtime-Aws-Request-Id
– ID permintaan, yang mengidentifikasi permintaan pemicu invokasi fungsi.Misalnya,
8476a536-e9f4-11e8-9739-2dfe598c3fcd
. -
Lambda-Runtime-Deadline-Ms
– Tanggal saat fungsi berakhir, dalam milidetik waktu Unix.Misalnya,
1542409706888
. -
Lambda-Runtime-Invoked-Function-Arn
— Fungsi ARN Lambda, versi, atau alias yang ditentukan dalam pemanggilan.Misalnya,
arn:aws:lambda:us-east-2:123456789012:function:custom-runtime
. -
Lambda-Runtime-Trace-Id
– Header pelacakan AWS X-Ray.Misalnya,
Root=1-5bef4de7-ad49b0e87f6ef6c87fc2e700;Parent=9a9197af755a6419;Sampled=1
. -
Lambda-Runtime-Client-Context
— Untuk pemanggilan dari AWS MobileSDK, data tentang aplikasi dan perangkat klien. -
Lambda-Runtime-Cognito-Identity
— Untuk pemanggilan dari AWS PonselSDK, data tentang penyedia identitas Amazon Cognito.
Jangan atur waktu habis permintaan GET
karena respons dapat tertunda. Antara saat Lambda melakukan bootstrap pada waktu pengoperasian dan saat waktu pengoperasian memiliki kejadian untuk dikembalikan, proses waktu pengoperasian mungkin dibekukan selama beberapa detik.
ID permintaan melacak invokasi di dalam Lambda. Gunakan untuk menentukan invokasi saat Anda mengirim respons.
Header pelacakan berisi ID jejak, ID induk, dan keputusan penyampelan. Jika permintaan diambil sampelnya, permintaan diambil sampelnya oleh Lambda atau layanan hulu. Waktu pengoperasian harus menetapkan _X_AMZN_TRACE_ID
dengan nilai header. SDKX-Ray membaca ini untuk mendapatkan IDs dan menentukan apakah akan melacak permintaan.
Respons invokasi
Jalur – /runtime/invocation/
AwsRequestId
/response
Metode - POST
Setelah fungsi selesai dijalankan, runtime mengirimkan respon invokasi untuk Lambda. Untuk invokasi sinkron, Lambda mengirimkan respons ke klien.
contoh permintaan berhasil
REQUEST_ID=156cb537-e2d4-11e8-9b34-d36013741fb9 curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/$REQUEST_ID/response" -d "SUCCESS"
Kesalahan inisialisasi
Jika fungsi mengembalikan kesalahan atau runtime mengalami kesalahan saat inisialisasi, runtime menggunakan metode ini untuk melaporkan kesalahan ke Lambda.
Jalur – /runtime/init/error
Metode - POST
Header
Lambda-Runtime-Function-Error-Type
— Jenis kesalahan yang ditemui runtime. Wajib: tidak.
Header ini terdiri dari nilai string. Lambda menerima string apa pun, tetapi kami merekomendasikan format <category.reason>. Sebagai contoh:
Runtime. NoSuchHandler
Runtime. APIKeyNotFound
Runtime. ConfigInvalid
Runtime. UnknownReason
Parameter tubuh
ErrorRequest
– Informasi tentang kesalahan. Wajib: tidak.
Bidang ini adalah JSON objek dengan struktur sebagai berikut:
{ errorMessage: string (text description of the error), errorType: string, stackTrace: array of strings }
Perhatikan bahwa Lambda menerima nilai apa pun untuk errorType
.
Contoh berikut menunjukkan pesan kesalahan fungsi Lambda ketika fungsi tidak dapat mengurai data peristiwa yang disediakan dalam invokasi.
contoh Kesalahan fungsi
{ "errorMessage" : "Error parsing event data.", "errorType" : "InvalidEventDataException", "stackTrace": [ ] }
Parameter isi respons
StatusResponse
– String. Informasi status, dikirim dengan kode respons 202.ErrorResponse
– Informasi kesalahan tambahan, dikirim dengan kode respons kesalahan. ErrorResponse berisi jenis kesalahan dan pesan kesalahan.
Kode respons
-
202 – Diterima
-
403 – Dilarang
-
500 – Kesalahan penampung. Keadaan yang tidak dapat dipulihkan. Runtime harus segera keluar.
contoh permintaan kesalahan inisialisasi
ERROR="{\"errorMessage\" : \"Failed to load function.\", \"errorType\" : \"InvalidFunctionException\"}" curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/init/error" -d "$ERROR" --header "Lambda-Runtime-Function-Error-Type: Unhandled"
Kesalahan invokasi
Jika fungsi mengembalikan kesalahan atau runtime mengalami kesalahan, runtime menggunakan metode ini untuk melaporkan kesalahan ke Lambda.
Jalur – /runtime/invocation/
AwsRequestId
/error
Metode - POST
Header
Lambda-Runtime-Function-Error-Type
— Jenis kesalahan yang ditemui runtime. Wajib: tidak.
Header ini terdiri dari nilai string. Lambda menerima string apa pun, tetapi kami merekomendasikan format <category.reason>. Sebagai contoh:
Runtime. NoSuchHandler
Runtime. APIKeyNotFound
Runtime. ConfigInvalid
Runtime. UnknownReason
Parameter tubuh
ErrorRequest
– Informasi tentang kesalahan. Wajib: tidak.
Bidang ini adalah JSON objek dengan struktur sebagai berikut:
{ errorMessage: string (text description of the error), errorType: string, stackTrace: array of strings }
Perhatikan bahwa Lambda menerima nilai apa pun untuk errorType
.
Contoh berikut menunjukkan pesan kesalahan fungsi Lambda ketika fungsi tidak dapat mengurai data peristiwa yang disediakan dalam invokasi.
contoh Kesalahan fungsi
{ "errorMessage" : "Error parsing event data.", "errorType" : "InvalidEventDataException", "stackTrace": [ ] }
Parameter isi respons
StatusResponse
– String. Informasi status, dikirim dengan kode respons 202.ErrorResponse
– Informasi kesalahan tambahan, dikirim dengan kode respons kesalahan. ErrorResponse berisi jenis kesalahan dan pesan kesalahan.
Kode respons
-
202 – Diterima
-
400 – Permintaan Buruk
-
403 – Dilarang
-
500 – Kesalahan penampung. Keadaan yang tidak dapat dipulihkan. Runtime harus segera keluar.
contoh permintaan kesalahan
REQUEST_ID=156cb537-e2d4-11e8-9b34-d36013741fb9 ERROR="{\"errorMessage\" : \"Error parsing event data.\", \"errorType\" : \"InvalidEventDataException\"}" curl "http://${AWS_LAMBDA_RUNTIME_API}/2018-06-01/runtime/invocation/$REQUEST_ID/error" -d "$ERROR" --header "Lambda-Runtime-Function-Error-Type: Unhandled"