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.
Variabel lingkungan spesifik bahasa
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 opsiagentlib
ataujavaagent
. Untuk informasi selengkapnya, lihat variabelJAVA_TOOL_OPTIONS
lingkungan. -
NODE_OPTIONS
- Tersedia di runtime Node.js. -
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. Skrip pembungkus memungkinkan Anda mengatur parameter konfigurasi yang tidak dapat diatur melalui variabel lingkungan spesifik bahasa.
catatan
Invokasi dapat gagal jika skrip pembungkus tidak berhasil memulai proses waktu pengoperasian.
Skrip pembungkus didukung pada semua runtime Lambda asli. Skrip pembungkus tidak didukung pada Runtime khusus OS (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: Buat dan gunakan 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 -p
python-wrapper-layer/bin
cdpython-wrapper-layer/bin
-
Dalam
bin
direktori, paste 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 yang dapat dieksekusi skrip:
chmod +x
importtime_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 layers, dan kemudian pilih layer Anda dari daftar dropdown Custom layers.
-
Untuk Versi, pilih 1.
-
Pilih Tambahkan.
-
-
Tambahkan variabel lingkungan pembungkus.
-
Pilih tab Konfigurasi, lalu pilih variabel 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 lapisan.zip Anda). -
Pilih Simpan.
-
-
Uji skrip pembungkus.
-
Pilih tab Uji.
-
Di bawah acara Uji, pilih Uji. Anda tidak perlu membuat acara pengujian—acara default akan berfungsi.
-
Gulir ke bawah ke Keluaran Log. 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
-