Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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 kunci API atau token otorisasi. Untuk informasi selengkapnya, lihat Menggunakan AWS Secrets Manager rahasia dalam AWS Lambda fungsi.
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 Serverless Application Model (AWS CLIAWS SAM), atau menggunakan SDK. AWS
Anda menentukan variabel lingkungan pada versi fungsi yang belum dipublikasikan. Saat Anda mempublikasikan versi, variabel lingkungan dikunci untuk versi tersebut bersama dengan pengaturan konfigurasi khusus versi lainnya.
Anda membuat variabel lingkungan untuk fungsi Anda dengan mendefinisikan kunci dan nilai. Fungsi Anda menggunakan nama kunci untuk mengambil nilai variabel lingkungan.
Untuk mengatur variabel lingkungan di konsol Lambda
Buka Halaman fungsi
di konsol Lambda. -
Pilih fungsi.
-
Pilih tab Konfigurasi, lalu pilih variabel Lingkungan.
-
Pada Variabel lingkungan, pilih Edit.
-
Pilih Tambahkan variabel lingkungan.
-
Masukkan kunci dan nilai.
Persyaratan
-
Kunci dimulai dengan huruf dan setidaknya dua karakter.
-
Kunci hanya berisi huruf, angka, dan karakter garis bawah (
_
). -
Kunci tidak dicadangkan oleh Lambda.
-
Ukuran total semua variabel lingkungan tidak lebih dari 4 KB.
-
-
Pilih Simpan.
Untuk menghasilkan daftar variabel lingkungan di editor kode konsol
Anda dapat membuat daftar variabel lingkungan di editor kode Lambda. Ini adalah cara cepat untuk mereferensikan variabel lingkungan Anda saat Anda membuat kode.
-
Pilih tab Kode.
-
Gulir ke bawah ke bagian VARIABEL LINGKUNGAN dari editor kode. Variabel lingkungan yang ada tercantum di sini:
-
Untuk membuat variabel lingkungan baru, pilih pilih tanda plus (
):
Variabel lingkungan tetap dienkripsi saat terdaftar di editor kode konsol. Jika Anda mengaktifkan pembantu enkripsi untuk enkripsi dalam perjalanan, maka pengaturan tersebut tetap tidak berubah. Untuk informasi selengkapnya, lihat Mengamankan variabel lingkungan Lambda.
Daftar variabel lingkungan hanya-baca dan hanya tersedia di konsol Lambda. File ini tidak disertakan saat Anda mengunduh arsip file.zip fungsi, dan Anda tidak dapat menambahkan variabel lingkungan dengan mengunggah file ini.
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 dapat menyetel variabel lingkungan dengan kunci LOG_LEVEL
dan nilai yang menunjukkan tingkat log debug atau jejak. 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
di Node.js.
contoh Kode Python untuk mengatur level log
import os
import logging
# Initialize the logger
logger = logging.getLogger()
# Get the log level from the environment variable and default to INFO if not set
log_level = os.environ.get('LOG_LEVEL', 'INFO')
# Set the log level
logger.setLevel(log_level)
def lambda_handler(event, context):
# Produce some example log outputs
logger.debug('This is a log with detailed debug information - shown only in test environment')
logger.info('This is a log with standard information - shown in production and test environments')
Mengambil variabel lingkungan Lambda
Untuk mengambil variabel lingkungan dalam kode fungsi Anda, gunakan metode standar untuk bahasa pemrograman Anda.
let region = process.env.AWS_REGION
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 AWS CloudFormation dalam templat 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 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 SDKs dan 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
– (Runtime kustom) Host dan port API runtime. -
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) 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 pelacakan X-Ray, Lambda mengatur ini menjadiLOG_ERROR
untuk menghindari membuang 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
— (.NET) Atur variabel ini untuk mengaktifkan atau menonaktifkan optimasi runtime tertentu.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.