Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memodifikasi lingkungan waktu pengoperasian
Anda dapat menggunakan ekstensi internal untuk memodifikasi proses waktu pengoperasian. Ekstensi internal bukan proses terpisah—ekstensi ini berjalan sebagai bagian dari proses waktu pengoperasian.
Lambda menyediakan variabel lingkungan spesifik bahasa yang dapat Anda atur untuk menambahkan opsi dan alat pada waktu pengoperasian. Lambda juga menyediakan skrip pembungkus, yang memungkinkan Lambda mendelegasikan startup waktu pengoperasian ke skrip Anda. Anda dapat membuat skrip pembungkus untuk mengustomisasikan perilaku startup waktu pengoperasian.
Language-specific variabel lingkungan
Lambda mendukung cara konfigurasi saja untuk mengaktifkan kode yang akan dipramuat selama inisialisasi fungsi melalui variabel lingkungan spesifik bahasa berikut:
-
JAVA_TOOL_OPTIONS- Di Java, Lambda mendukung variabel lingkungan ini untuk mengatur variabel baris perintah tambahan di Lambda. Variabel lingkungan ini memungkinkan Anda menentukan inisialisasi alat, khususnya peluncuran agen bahasa pemrograman asli atau Java menggunakan opsiagentlibataujavaagent. Untuk informasi selengkapnya, lihat variabelJAVA_TOOL_OPTIONSlingkungan. -
NODE_OPTIONS— Tersedia dalam Node.js runtime. -
DOTNET_STARTUP_HOOKS– Pada NET Core 3.1 dan di atas, variabel lingkungan ini menentukan jalur ke rakitan (dll) yang dapat Lambda gunakan.
Menggunakan variabel lingkungan spesifik bahasa adalah cara yang lebih disukai untuk mengatur properti startup.
Skrip pembungkus
Anda dapat membuat skrip pembungkus untuk mengustomisasikan perilaku startup waktu pengoperasian fungsi Lambda. Dengan skrip pembungkus, Anda dapat mengatur parameter konfigurasi yang tidak dapat diatur melalui variabel lingkungan khusus bahasa.
catatan
Pemanggilan mungkin gagal jika skrip pembungkus tidak berhasil memulai proses runtime.
Skrip pembungkus didukung pada semua runtime Lambda asli. Skrip pembungkus tidak didukung pada OS-only waktu proses (keluarga provided runtime).
Saat Anda menggunakan skrip pembungkus untuk fungsi, Lambda memulai waktu pengoperasian menggunakan skrip Anda. Lambda mengirim ke skrip Anda jalur ke interpreter dan semua argumen asli untuk startup waktu pengoperasian standar. Skrip Anda dapat memperluas atau mengubah perilaku startup program. Misalnya, skrip dapat menyuntikkan dan mengubah argumen, mengatur variabel lingkungan, atau menangkap metrik, kesalahan, dan informasi diagnostik lainnya.
Anda menentukan skrip dengan mengatur nilai dari variabel lingkungan AWS_LAMBDA_EXEC_WRAPPER sebagai jalur sistem file dari biner atau skrip yang dapat dijalankan.
Contoh: Membuat dan menggunakan skrip pembungkus sebagai lapisan Lambda
Dalam contoh berikut, Anda membuat skrip pembungkus untuk memulai interpreter Python dengan opsi -X
importtime. Saat Anda menjalankan fungsi, Lambda membuat entri log untuk menampilkan durasi waktu impor untuk tiap impor.
Untuk membuat dan menggunakan skrip pembungkus sebagai lapisan
-
Buat direktori untuk layer:
mkdir -ppython-wrapper-layer/bincdpython-wrapper-layer/bin -
Di
bindirektori, tempel kode berikut ke dalam file baru bernamaimporttime_wrapper. Ini adalah skrip pembungkus.#!/bin/bash # the path to the interpreter and all of the originally intended arguments args=("$@") # the extra options to pass to the interpreter extra_args=("-X" "importtime") # insert the extra options args=("${args[@]:0:$#-1}" "${extra_args[@]}" "${args[@]: -1}") # start the runtime with the extra options exec "${args[@]}" -
Berikan izin eksekusi skrip:
chmod +ximporttime_wrapper -
Buat file.zip untuk layer:
cd .. zip -r ../python-wrapper-layer.zip. -
Konfirmasikan bahwa file.zip Anda memiliki struktur direktori berikut:
python-wrapper-layer.zip └ bin └ importtime_wrapper -
Buat layer menggunakan paket.zip.
-
Buat fungsi menggunakan konsol Lambda.
-
Buka konsol Lambda
. -
Pilih Buat fungsi.
-
Masukkan nama Fungsi.
-
Untuk Runtime, pilih runtime Python terbaru yang didukung.
-
Pilih Buat fungsi.
-
-
Tambahkan lapisan ke fungsi Anda.
-
Pilih fungsi Anda, lalu pilih tab Kode jika belum dipilih.
-
Gulir ke bawah ke bagian Layers, lalu pilih Add a layer.
-
Untuk Sumber Layer, pilih Custom Lay ers, lalu pilih layer Anda dari daftar dropdown Custom Layers.
-
Untuk Versi, pilih 1.
-
Pilih Tambahkan.
-
-
Tambahkan variabel lingkungan pembungkus.
-
Pilih tab Konfigurasi, lalu pilih Vari abel lingkungan.
-
Pada Variabel lingkungan, pilih Edit.
-
Pilih Tambahkan variabel lingkungan.
-
Untuk Kunci, masukkan
AWS_LAMBDA_EXEC_WRAPPER. -
Untuk Nilai, masukkan
/opt/bin/importtime_wrapper(/opt/+ struktur folder layer.zip Anda). -
Pilih Simpan.
-
-
Uji skrip pembungkus.
-
Pilih tab Tes.
-
Di bawah Acara uji, pilih Uji. Anda tidak perlu membuat acara pengujian—acara default berfungsi.
-
Gulir ke bawah ke Log output. Karena skrip pembungkus Anda memulai interpreter Python dengan opsi
-X importtime, log menunjukkan waktu yang diperlukan untuk setiap impor. Sebagai contoh:532 | collections import time: 63 | 63 | _functools import time: 1053 | 3646 | functools import time: 2163 | 7499 | enum import time: 100 | 100 | _sre import time: 446 | 446 | re._constants import time: 691 | 1136 | re._parser import time: 378 | 378 | re._casefix import time: 670 | 2283 | re._compiler import time: 416 | 416 | copyreg
-