Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan titik akhir metadata Lambda
Dengan titik akhir metadata Lambda, fungsi Anda dapat menemukan Availability Zone (AZ) mana mereka berjalan. Anda dapat menggunakan ini untuk mengoptimalkan latensi dengan merutekan ke sumber daya Same-AZ seperti titik akhir Amazon ElastiCache dan Amazon RDS, dan untuk menerapkan pola ketahanan. AZ-aware
Titik akhir mengembalikan metadata dalam format JSON sederhana melalui API HTTP localhost dalam lingkungan eksekusi dan dapat diakses oleh runtime dan ekstensi.
Bagian-bagian
Memulai
Powertools for AWS Lambda menyediakan utilitas untuk mengakses endpoint metadata Lambda di Python, Java TypeScript, dan .NET. Utilitas menyimpan respons setelah panggilan pertama dan menangani pembatalan SnapStart cache secara otomatis.
Gunakan utilitas metadata Powertools for AWS Lambda atau panggil titik akhir metadata secara langsung
Memahami ID Zona Ketersediaan
ID AZ (misalnya,use1-az1) selalu merujuk ke lokasi fisik yang sama di semua AWS akun, sementara nama AZ (misalnya,us-east-1a) mungkin dipetakan ke infrastruktur fisik yang berbeda di setiap AWS
akun di wilayah tertentu. Untuk informasi selengkapnya, lihat ID AZ untuk konsistensi lintas akun.
Mengkonversi ID AZ ke nama AZ:
Untuk mengonversi ID AZ menjadi nama AZ, gunakan Amazon EC2 DescribeAvailabilityZones API. Untuk menggunakan API ini, tambahkan ec2:DescribeAvailabilityZones izin ke peran eksekusi fungsi Anda.
Referensi API
Variabel-variabel lingkungan
Lambda secara otomatis menetapkan variabel lingkungan berikut di setiap lingkungan eksekusi:
-
AWS_LAMBDA_METADATA_API— Alamat server metadata dalam format{ipv4_address}:{port}(misalnya,169.254.100.1:9001). -
AWS_LAMBDA_METADATA_TOKEN— Token otentikasi unik untuk lingkungan eksekusi saat ini. Lambda menghasilkan token ini secara otomatis pada inisialisasi. Sertakan dalam semua permintaan API metadata.
Titik akhir
GET http://${AWS_LAMBDA_METADATA_API}/2026-01-15/metadata/execution-environment
Permintaan
Header yang diperlukan:
-
Authorization— Nilai token dari variabelAWS_LAMBDA_METADATA_TOKENlingkungan dengan skema Pembawa:Bearer <token>. Otentikasi berbasis token ini memberikan perlindungan mendalam terhadap kerentanan Pemalsuan Per Server-Side mintaan (SSRF). Setiap lingkungan eksekusi menerima token unik yang dihasilkan secara acak pada inisialisasi.
Respons
Status: 200 OK
Content-Type: application/json
Cache-Control: private, max-age=43200, immutable
Responsnya tidak berubah dalam lingkungan eksekusi. Klien harus menyimpan respons dan menghormati Cache-Control TTL. Untuk SnapStart fungsi, TTL dikurangi selama inisialisasi sehingga klien menyegarkan metadata setelah pemulihan ketika lingkungan eksekusi mungkin berada di AZ yang berbeda. Jika Anda menggunakan Powertools, caching dan pembatalan dit SnapStart angani secara otomatis.
Tubuh:
{ "AvailabilityZoneID": "use1-az1" }
Bid AvailabilityZoneID ang berisi pengidentifikasi unik untuk Zona Ketersediaan tempat lingkungan eksekusi berjalan.
catatan
Bidang tambahan mungkin ditambahkan ke respons di pembaruan mendatang. Klien harus mengabaikan bidang yang tidak dikenal dan tidak gagal jika bidang baru muncul.
Tanggapan kesalahan
-
401 Tidak Sah -
AuthorizationHeader hilang atau berisi token yang tidak valid. Pastikan Anda lewatBearer ${AWS_LAMBDA_METADATA_TOKEN}. -
405 Metode Tidak Diizinkan — Metode permintaan tidak
GET. -
500 Kesalahan Server Inter nal — kesalahan Server-side pemrosesan.