

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 dei metadati
<a name="web-functions-configuration-metadata-endpoint"></a>

L'endpoint di metadati Lambda è un'API HTTP locale all'interno dell'ambiente di esecuzione. Restituisce i metadati in un semplice formato JSON, incluso l'ID della zona di disponibilità (AZ) in cui è in esecuzione l'ambiente. Usalo per indirizzare verso risorse Same-AZ come Amazon e ElastiCache Amazon RDS per una latenza inferiore. Puoi anche usarlo per implementare modelli di resilienza. AZ-aware 

**Nota**  
Una funzione Web esegue un server Web persistente anziché un gestore per chiamata. Leggi l'endpoint dei metadati una volta all'avvio dell'applicazione e memorizza il valore nella cache, oppure leggilo per richiesta se ne hai bisogno nel contesto della richiesta. Non date per scontato un nuovo gestore per ogni chiamata. Per una funzione Web multiregionale, l'endpoint riporta l'AZ all'interno della zona che sta servendo la richiesta. Regione AWS 

**Topics**
+ [Nozioni di base](#web-functions-metadata-endpoint-getting-started)

## Nozioni di base
<a name="web-functions-metadata-endpoint-getting-started"></a>

Powertools for AWS Lambda fornisce un'utilità per accedere all'endpoint di metadati Lambda. L'utilità memorizza nella cache la risposta dopo la prima chiamata. Per ulteriori informazioni, vedete [Metadati](https://docs.aws.amazon.com/powertools/typescript/latest/features/metadata/) nella documentazione di *Powertools for AWS Lambda* (). TypeScript

Poiché Web Functions è in esecuzioneNode.js, l'esempio seguente utilizza l'utilità di metadati Powertools for AWS Lambda per leggere l'ID AZ una volta all'avvio del server e memorizzarlo nella cache per tutta la durata del processo. Esegui il seguente comando npm per installare il pacchetto Powertools ed Express:

```
npm install @aws-lambda-powertools/commons express
```

L'esempio seguente utilizza a Express scopo illustrativo. Lo stesso approccio funziona con qualsiasi framework Node.js web; vedi[Framework web supportati](web-functions-runtimes.md#web-functions-runtimes-frameworks). Leggi l'ID AZ all'avvio e riutilizza il valore memorizzato nella cache durante la gestione delle richieste:

**Example Recupero dell'ID AZ con Powertools all'avvio () TypeScript**  

```
import express from 'express';
import { getMetadata } from '@aws-lambda-powertools/commons/utils/metadata';

const app = express();

// Read the AZ ID once at startup and cache it for the life of the server.
const { AvailabilityZoneID: azId } = await getMetadata();

// Lambda provides the address to bind in AWS_LAMBDA_HTTP_ENDPOINT ("host:port").
// The fallback applies only when running locally.
const [host, port] = (process.env.AWS_LAMBDA_HTTP_ENDPOINT || 'localhost:3000').split(':');

app.get('/', (req, res) => {
  res.json({ azId });
});

app.listen(port, host, () => {
  console.log(`Server listening on ${host}:${port}, AZ: ${azId}`);
});
```

Puoi anche chiamare direttamente l'endpoint dei metadati. Lambda imposta automaticamente le variabili di `AWS_LAMBDA_METADATA_TOKEN` ambiente `AWS_LAMBDA_METADATA_API` and in ogni ambiente di esecuzione e includi il token con lo schema Bearer nell'intestazione. `Authorization` Per l'URL dell'endpoint, i formati di richiesta e risposta e le risposte agli errori, consulta. [Utilizzo dell'endpoint di metadati Lambda](configuration-metadata-endpoint.md)

Ad esempio, leggi l'indirizzo del server di metadati da `AWS_LAMBDA_METADATA_API` e invia una richiesta GET autenticata:

```
METADATA_ENDPOINT="http://${AWS_LAMBDA_METADATA_API}/2026-01-15/metadata/execution-environment"
RESPONSE=$(curl -s -H "Authorization: Bearer ${AWS_LAMBDA_METADATA_TOKEN}" "$METADATA_ENDPOINT")
AZ_ID=$(echo "$RESPONSE" | jq -r '.AvailabilityZoneID')
```

L'endpoint ritorna. `application/json` Ad esempio: `{"AvailabilityZoneID": "use1-az1"}`.