Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan variabel lingkungan Lambda untuk mengonfigurasi nilai dalam kode
Anda dapat menggunakan variabel lingkungan untuk menyesuaikan perilaku fungsi Anda tanpa memperbarui kode. Variabel lingkungan adalah sepasang string yang disimpan dalam konfigurasi spesifik versi fungsi. Runtime Lambda membuat variabel lingkungan tersedia bagi kode Anda dan mengatur variabel lingkungan tambahan yang berisi informasi tentang fungsi dan permintaan invokasi.
catatan
Untuk meningkatkan keamanan, sebaiknya Anda menggunakan AWS Secrets Manager variabel lingkungan untuk menyimpan kredensi database dan informasi sensitif lainnya seperti API kunci atau token otorisasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola rahasia dengan AWS Secrets Manager.
Variabel lingkungan tidak dievaluasi sebelum pemanggilan fungsi. Nilai apa pun yang Anda tentukan dianggap sebagai string harafiah dan tidak diperluas. Lakukan evaluasi variabel dalam kode fungsi Anda.
Anda dapat mengonfigurasi variabel lingkungan di Lambda menggunakan konsol Lambda, (), AWS Command Line Interface (AWS CLI), AWS Serverless Application Model atau menggunakan.AWS SAM AWS SDK
Variabel lingkungan runtime yang ditetapkan
Runtime Lambda menetapkan beberapa variabel lingkungan selama inisialisasi. Sebagian besar variabel lingkungan memberikan informasi tentang fungsi atau runtime. Kunci untuk variabel lingkungan ini dicadangkan dan tidak dapat diatur dalam konfigurasi fungsi Anda.
Variabel lingkungan yang tersimpan
-
_HANDLER
– Lokasi handler dikonfigurasi pada fungsi. -
_X_AMZN_TRACE_ID
– Header pelacakan X-Ray. Variabel lingkungan ini berubah dengan setiap pemanggilan.-
Variabel lingkungan ini tidak ditentukan untuk runtime khusus OS (keluarga runtime).
provided
Anda dapat mengatur_X_AMZN_TRACE_ID
runtime kustom menggunakan headerLambda-Runtime-Trace-Id
respons dari file. Invokasi berikutnya -
Untuk Java runtime versi 17 dan yang lebih baru, variabel lingkungan ini tidak digunakan. Sebaliknya, Lambda menyimpan informasi penelusuran di properti sistem.
com.amazonaws.xray.traceHeader
-
-
AWS_DEFAULT_REGION
— Default Wilayah AWS di mana fungsi Lambda dijalankan. -
AWS_REGION
— Wilayah AWS Tempat fungsi Lambda dijalankan. Jika didefinisikan, nilai ini mengesampingkan.AWS_DEFAULT_REGION
-
Untuk informasi selengkapnya tentang penggunaan variabel Wilayah AWS lingkungan dengan AWS SDKs, lihat AWS Wilayah dalam AWS SDKsdan Panduan Referensi Alat.
-
-
AWS_EXECUTION_ENV
— Pengidentifikasi runtime, diawali olehAWS_Lambda_
(misalnya,).AWS_Lambda_java8
Variabel lingkungan ini tidak ditentukan untuk runtime khusus OS (keluarga runtime).provided
-
AWS_LAMBDA_FUNCTION_NAME
– Nama fungsi. -
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
– Jumlah memori yang tersedia untuk fungsi dalam MB. -
AWS_LAMBDA_FUNCTION_VERSION
– Versi fungsi yang sedang dijalankan. -
AWS_LAMBDA_INITIALIZATION_TYPE
— Jenis inisialisasi fungsi, yaitu,on-demand
provisioned-concurrency
, atausnap-start
. Untuk selengkapnya, lihat Mengonfigurasi konkurensi yang disediakan atau. Meningkatkan kinerja startup dengan Lambda SnapStart -
AWS_LAMBDA_LOG_GROUP_NAME
,AWS_LAMBDA_LOG_STREAM_NAME
— Nama grup Amazon CloudWatch Logs dan streaming untuk fungsi tersebut. Variabel AWS_LAMBDA_LOG_GROUP_NAME dan AWS_LAMBDA_LOG_STREAM_NAME lingkungan tidak tersedia dalam fungsi Lambda SnapStart . -
AWS_ACCESS_KEY
,AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,AWS_SESSION_TOKEN
— Kunci akses yang diperoleh dari peran eksekusi fungsi. -
AWS_LAMBDA_RUNTIME_API
— (Custom runtime) Host dan port runtime API. -
LAMBDA_TASK_ROOT
– Jalur ke kode fungsi Lambda Anda. -
LAMBDA_RUNTIME_DIR
– Jalur ke pustaka runtime.
Variabel lingkungan tambahan berikut ini tidak dicadangkan dan dapat diperluas dalam konfigurasi fungsi Anda.
Variabel lingkungan yang tidak dicadangkan
-
LANG
– Lokal runtime (en_US.UTF-8
). -
PATH
– Jalur eksekusi (/usr/local/bin:/usr/bin/:/bin:/opt/bin
). -
LD_LIBRARY_PATH
– Jalur pustaka sistem (/var/lang/lib:/lib64:/usr/lib64:$LAMBDA_RUNTIME_DIR:$LAMBDA_RUNTIME_DIR/lib:$LAMBDA_TASK_ROOT:$LAMBDA_TASK_ROOT/lib:/opt/lib
). -
NODE_PATH
– (Node.js) Jalur pustaka Node.js (/opt/nodejs/node12/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules
). -
PYTHONPATH
– (Python 2.7, 3.6, 3.8) Jalur pustaka Python ($LAMBDA_RUNTIME_DIR
). -
GEM_PATH
– (Ruby) Jalur pustaka Ruby ($LAMBDA_TASK_ROOT/vendor/bundle/ruby/2.5.0:/opt/ruby/gems/2.5.0
). -
AWS_XRAY_CONTEXT_MISSING
— Untuk penelusuran X-Ray, Lambda mengatur iniLOG_ERROR
untuk menghindari kesalahan runtime dari X-Ray. SDK -
AWS_XRAY_DAEMON_ADDRESS
– Untuk pelacakan X-Ray, alamat IP dan port daemon X-Ray. -
AWS_LAMBDA_DOTNET_PREJIT
- Untuk. NET6 dan. NET7 runtime, atur variabel ini untuk mengaktifkan atau menonaktifkan. NETpengoptimalan runtime tertentu. Nilai mencakupalways
,never
, danprovisioned-concurrency
. Untuk informasi selengkapnya, lihat Mengkonfigurasi konkurensi yang disediakan untuk suatu fungsi. -
TZ
– Zona waktu lingkungan (:UTC
). Lingkungan eksekusi menggunakan NTP untuk menyinkronkan jam sistem.
Nilai sampel yang ditampilkan mencerminkan runtime terbaru. Adanya variabel tertentu atau nilainya dapat bervariasi pada runtime awal.
Contoh skenario untuk variabel lingkungan
Anda dapat menggunakan variabel lingkungan untuk menyesuaikan perilaku fungsi di lingkungan pengujian Anda dan lingkungan produksi. Misalnya, Anda dapat membuat dua fungsi dengan kode yang sama, tetapi konfigurasi yang berbeda. Satu fungsi terhubung ke basis data uji, dan fungsi lainnya terhubung ke basis data produksi. Dalam situasi ini, Anda menggunakan variabel lingkungan untuk meneruskan nama host dan detail koneksi lainnya untuk database ke fungsi.
Contoh berikut menunjukkan cara menentukan host basis data dan nama basis data sebagai variabel lingkungan.
Jika Anda ingin lingkungan pengujian Anda menghasilkan lebih banyak informasi debug daripada lingkungan produksi, Anda dapat mengatur variabel lingkungan untuk mengonfigurasi lingkungan pengujian Anda untuk menggunakan lebih banyak log verbose atau pelacakan yang lebih terperinci.