Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan variabel lingkungan Lambda
Anda dapat menggunakan variabel lingkungan untuk menyesuaikan perilaku fungsi Anda tanpa memperbarui kode. Variabel lingkungan adalah sepasang string yang disimpan dalam konfigurasi versi spesifik 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 gunakan alih- AWS Secrets Manager alih variabel lingkungan untuk menyimpan kredentif database dan informasi sensitif lainnya seperti kunci API atau token otorisasi. Untuk informasi selengkapnya, lihat Gunakan rahasia Manajer Rahasia dalam fungsi Lambda.
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.
Membuat variabel lingkungan Lambda
Anda dapat mengonfigurasi variabel lingkungan di Lambda menggunakan konsol Lambda, AWS Command Line Interface (AWS CLI), AWS Serverless Application Model (AWS SAM), atau menggunakan SDK. AWS
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.
Misalnya, di lingkungan pengujian Anda, Anda dapat menyetel variabel lingkungan dengan kunci LOG_LEVEL dan nilai yang menunjukkan tingkat log debug atau pelacakan. Dalam kode fungsi Lambda Anda, Anda kemudian dapat menggunakan variabel lingkungan ini untuk mengatur tingkat log.
Contoh kode berikut dalam Python dan Node.js menggambarkan bagaimana Anda dapat mencapai ini. Contoh-contoh ini mengasumsikan variabel lingkungan Anda memiliki nilai DEBUG dalam Python atau debug in Node.js.
Mengambil variabel lingkungan Lambda
Untuk mengambil variabel lingkungan dalam kode fungsi Anda, gunakan metode standar untuk bahasa pemrograman Anda.
Lambda menyimpan variabel lingkungan secara aman dengan mengenkripsinya saat istirahat. Anda dapat mengonfigurasi Lambda untuk menggunakan kunci enkripsi yang berbeda, mengenkripsi nilai variabel lingkungan di sisi klien, atau mengatur variabel lingkungan dalam CloudFormation template dengan AWS Secrets Manager.
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 OS-only runtime (keluarga
providedruntime). Anda dapat_X_AMZN_TRACE_IDmengatur runtime khusus menggunakan headerLambda-Runtime-Trace-Idrespons dariInvokasi berikutnya. -
Untuk runtime Java versi 17 dan yang lebih baru, variabel lingkungan ini tidak digunakan. Sebagai gantinya, Lambda menyimpan informasi pelacakan di properti
com.amazonaws.xray.traceHeadersistem.
-
-
AWS_DEFAULT_REGION— Default Wilayah AWS tempat fungsi Lambda dijalankan. -
AWS_REGION— Wilayah AWS Tempat fungsi Lambda dijalankan. Jika didefinisikan, nilai ini menggantikan.AWS_DEFAULT_REGION-
Untuk informasi selengkapnya tentang menggunakan variabel Wilayah AWS lingkungan dengan AWS SDK, lihat Wil AWS ayah di Panduan Refer AWS ensi SDK dan Alat.
-
-
AWS_EXECUTION_ENV— Pen gidentifikasi runtime, diawali denganAWS_Lambda_(misalnya,AWS_Lambda_java8). Variabel lingkungan ini tidak ditentukan untuk OS-only runtime (keluargaprovidedruntime). -
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-concurrencysnap-start, ataulambda-managed-instances. Untuk selengkapnya, lihat Meng onfigurasi konkurensi yang disediakan, Meningkatkan kinerja startup dengan Lambda SnapStart, atau. Instans Terkelola Lambda -
AWS_LAMBDA_LOG_GROUP_NAME,AWS_LAMBDA_LOG_STREAM_NAME— Nama grup Amazon CloudWatch Logs dan aliran untuk fungsi tersebut. VariAWS_LAMBDA_LOG_GROUP_NAMEabel danAWS_LAMBDA_LOG_STREAM_NAMElingkungan tidak tersedia dalam SnapStart fungsi Lambda. -
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– (Runtime kustom) Host dan port API runtime. -
LAMBDA_TASK_ROOT– Jalur ke kode fungsi Lambda Anda. -
LAMBDA_RUNTIME_DIR– Jalur ke pustaka runtime. -
AWS_LAMBDA_MAX_CONCURRENCY— (Hanya Instans Terkelola Lambda) Jumlah maksimum pemanggilan bersamaan yang akan dikirim Lambda ke satu lingkungan eksekusi. -
AWS_LAMBDA_METADATA_API— Alamat server titik akhir metadata dalam format{ipv4_address}:{port}(misalnya,169.254.100.1:9001). -
AWS_LAMBDA_METADATA_TOKEN— Token otentikasi unik untuk lingkungan eksekusi saat ini yang digunakan untuk mengotentikasi permintaan ke titik akhir metadata. Lambda menghasilkan token ini secara otomatis pada inisialisasi.
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 Node.js perpustakaan (/opt/nodejs/node12/node_modules/:/opt/nodejs/node_modules:$LAMBDA_RUNTIME_DIR/node_modules). -
NODE_OPTIONS— (Node.js) Untuk Node.js runtime, Anda dapat menggunakanNODE_OPTIONSuntuk mengaktifkan kembali fitur eksperimental yang dinonaktifkan Lambda secara default. -
PYTHONPATH— (Python) Jalur perpustakaan Python ($LAMBDA_RUNTIME_DIR). -
GEM_PATH– (Ruby) Jalur pustaka Ruby ($LAMBDA_TASK_ROOT/vendor/bundle/ruby/3.3.0:/opt/ruby/gems/3.3.0). -
AWS_XRAY_CONTEXT_MISSING- Untuk pel X-Ray acakan, Lambda menyetel iniLOG_ERRORuntuk menghindari kesalahan runtime dari X-Ray SDK. -
AWS_XRAY_DAEMON_ADDRESS— Untuk X-Ray pelacakan, alamat IP dan port X-Ray daemon. -
AWS_LAMBDA_DOTNET_PREJIT- (.NET) Setel variabel ini untuk mengaktifkan atau menonaktifkan optimasi runtime khusus.NET. 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.