Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo dell'endpoint di metadati Lambda
L'endpoint di metadati Lambda consente alle tue funzioni di scoprire in quale zona di disponibilità (AZ) sono in esecuzione, consentendoti di ottimizzare la latenza indirizzando verso risorse Same-AZ come gli endpoint Amazon ElastiCache e Amazon RDS e di implementare modelli di resilienza compatibili con AZ.
L'endpoint restituisce i metadati in un semplice formato JSON tramite un'API HTTP localhost all'interno dell'ambiente di esecuzione ed è accessibile sia ai runtime che alle estensioni.
Nozioni di base
Powertools for AWS Lambda fornisce un'utilità per accedere all'endpoint dei metadati Lambda in Python, Java e.NET. TypeScript L'utilità memorizza nella cache la risposta dopo la prima chiamata e gestisce automaticamente l'invalidazione della cache. SnapStart
Utilizza l'utilità per i metadati Powertools for AWS Lambda o chiama direttamente l'endpoint dei metadati
Comprendere la zona di disponibilità IDs
AZ IDs (ad esempio,use1-az1) si riferisce sempre alla stessa posizione fisica in tutti gli AWS account, mentre i nomi AZ (ad esempious-east-1a) possono essere mappati a infrastrutture fisiche diverse in ciascun AWS
account in determinate regioni. Per ulteriori informazioni, consulta AZ IDs per la coerenza tra account.
Conversione dell'ID AZ in un nome AZ:
Per convertire un ID AZ in un nome AZ, utilizza l'API Amazon EC2 DescribeAvailabilityZones. Per utilizzare questa API, aggiungi l'ec2:DescribeAvailabilityZonesautorizzazione al ruolo di esecuzione della funzione.
Guida di riferimento alle API
Variabili di ambiente
Lambda imposta automaticamente le seguenti variabili di ambiente in ogni ambiente di esecuzione:
-
AWS_LAMBDA_METADATA_API— L'indirizzo del server di metadati nel formato{ipv4_address}:{port}(ad esempio,169.254.100.1:9001). -
AWS_LAMBDA_METADATA_TOKEN— Un token di autenticazione unico per l'ambiente di esecuzione corrente. Lambda genera questo token automaticamente al momento dell'inizializzazione. Includilo in tutte le richieste API di metadati.
Endpoint
GET http://${AWS_LAMBDA_METADATA_API}/2026-01-15/metadata/execution-environment
Richiesta
Intestazioni obbligatorie:
-
Authorization— Il valore del token della variabile diAWS_LAMBDA_METADATA_TOKENambiente con lo schema Bearer:.Bearer <token>Questa autenticazione basata su token fornisce una difesa approfondita contro le vulnerabilità SSRF (Server-Side Request Forgery). Ogni ambiente di esecuzione riceve un token unico generato casualmente al momento dell'inizializzazione.
Risposta
Stato: 200 OK
Tipo di contenuto: application/json
Controllo della cache: private, max-age=43200, immutable
La risposta è immutabile all'interno di un ambiente di esecuzione. I client devono memorizzare nella cache la risposta e rispettare il Cache-Control TTL. Per quanto riguarda SnapStart le funzioni, il TTL viene ridotto durante l'inizializzazione in modo che i client aggiornino i metadati dopo il ripristino quando l'ambiente di esecuzione può trovarsi in una AZ diversa. Se si utilizza Powertools, la memorizzazione nella cache e l'invalidazione vengono gestite automaticamente. SnapStart
Testo:
{ "AvailabilityZoneID": "use1-az1" }
Il AvailabilityZoneID campo contiene l'identificatore univoco per la zona di disponibilità in cui è in esecuzione l'ambiente di esecuzione.
Nota
Nei futuri aggiornamenti potrebbero essere aggiunti campi aggiuntivi alla risposta. I client devono ignorare i campi sconosciuti e non fallire se vengono visualizzati nuovi campi.
Risposte agli errori
-
401 Non autorizzato: l'
Authorizationintestazione è mancante o contiene un token non valido. Verifica che stai superando il test.Bearer ${AWS_LAMBDA_METADATA_TOKEN} -
Metodo 405 non consentito: il metodo di richiesta non
GETlo è. -
500 Errore interno del server: errore di elaborazione lato server.