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
Titik akhir metadata Lambda memungkinkan fungsi Anda menemukan Availability Zone (AZ) tempat mereka berjalan, memungkinkan Anda mengoptimalkan latensi dengan merutekan ke sumber daya AZ yang sama seperti titik akhir Amazon dan ElastiCache Amazon RDS, dan 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 untuk AWS Lambda menyediakan utilitas untuk mengakses titik akhir metadata Lambda di Python,, Java, dan .NET. TypeScript Utilitas menyimpan respons setelah panggilan pertama dan menangani pembatalan SnapStart cache secara otomatis.
Gunakan utilitas metadata Powertools untuk AWS Lambda atau hubungi titik akhir metadata secara langsung
Memahami Zona Ketersediaan IDs
AZ IDs (misalnya,use1-az1) selalu merujuk ke lokasi fisik yang sama di semua AWS akun, sementara nama AZ (misalnya,us-east-1a) dapat dipetakan ke infrastruktur fisik yang berbeda di setiap AWS
akun di wilayah tertentu. Untuk informasi selengkapnya, lihat AZ IDs untuk konsistensi lintas akun.
Mengonversi ID AZ ke nama AZ:
Untuk mengonversi ID AZ ke nama AZ, gunakan Amazon EC2 API DescribeAvailabilityZones. 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 saat 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 Bearer:Bearer <token>. Otentikasi berbasis token ini memberikan perlindungan mendalam terhadap kerentanan Pemalsuan Permintaan Sisi Server (SSRF). Setiap lingkungan eksekusi menerima token unik yang dihasilkan secara acak saat inisialisasi.
Respons
Status: 200 OK
Tipe Konten: application/json
Kontrol Cache: private, max-age=43200, immutable
Responsnya tidak dapat diubah 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 SnapStart invalidasi ditangani secara otomatis.
Tubuh:
{ "AvailabilityZoneID": "use1-az1" }
AvailabilityZoneIDBidang berisi pengenal unik untuk Availability Zone tempat lingkungan eksekusi berjalan.
catatan
Bidang tambahan dapat ditambahkan ke respons di pembaruan masa depan. Klien harus mengabaikan bidang yang tidak dikenal dan tidak gagal jika bidang baru muncul.
Tanggapan kesalahan
-
401 Tidak Sah —
AuthorizationHeader tidak ada atau berisi token yang tidak valid. Verifikasi Anda lewatBearer ${AWS_LAMBDA_METADATA_TOKEN}. -
405 Metode Tidak Diizinkan - Metode permintaan tidak
GET. -
500 Kesalahan Server Internal - Kesalahan pemrosesan sisi server.