

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan titik akhir metadata
<a name="web-functions-configuration-metadata-endpoint"></a>

Titik akhir metadata Lambda adalah API HTTP lokal dalam lingkungan eksekusi. Ini mengembalikan metadata dalam format JSON sederhana, termasuk ID Availability Zone (AZ) tempat lingkungan berjalan. Gunakan untuk merutekan ke sumber daya AZ yang sama seperti Amazon dan ElastiCache Amazon RDS untuk latensi yang lebih rendah. Anda juga dapat menggunakannya untuk menerapkan AZ-aware pola ketahanan.

**catatan**  
Fungsi Web menjalankan server web persisten daripada handler per-pemanggilan. Baca titik akhir metadata sekali saat startup aplikasi dan cache nilainya, atau baca per permintaan jika Anda membutuhkannya dalam konteks permintaan. Jangan berasumsi penangan per doa baru. Untuk Fungsi Web Multi-wilayah, titik akhir melaporkan AZ dalam Wilayah AWS yang melayani permintaan.

**Topics**
+ [Memulai](#web-functions-metadata-endpoint-getting-started)

## Memulai
<a name="web-functions-metadata-endpoint-getting-started"></a>

Powertools untuk AWS Lambda menyediakan utilitas untuk mengakses titik akhir metadata Lambda. Utilitas menyimpan respons setelah panggilan pertama. Untuk informasi selengkapnya, lihat [Metadata](https://docs.aws.amazon.com/powertools/typescript/latest/features/metadata/) dalam dokumentasi *Powertools for AWS Lambda* (). TypeScript

Karena Fungsi Web berjalanNode.js, contoh berikut menggunakan utilitas metadata Powertools untuk AWS Lambda untuk membaca ID AZ sekali saat server startup dan cache selama proses berlangsung. Jalankan perintah npm berikut untuk menginstal paket Powertools dan Express:

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

Contoh berikut digunakan Express untuk ilustrasi. Pendekatan yang sama bekerja dengan kerangka Node.js web apa pun; lihat[Kerangka kerja web yang didukung](web-functions-runtimes.md#web-functions-runtimes-frameworks). Baca ID AZ saat startup dan gunakan kembali nilai cache saat menangani permintaan:

**Example Mengambil ID AZ dengan Powertools saat startup () 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}`);
});
```

Anda juga dapat memanggil titik akhir metadata secara langsung. Lambda secara otomatis menetapkan variabel `AWS_LAMBDA_METADATA_API` dan `AWS_LAMBDA_METADATA_TOKEN` lingkungan di setiap lingkungan eksekusi, dan Anda menyertakan token dengan skema Bearer di header. `Authorization` Untuk URL titik akhir, format permintaan dan respons, serta respons kesalahan, lihat[Menggunakan titik akhir metadata Lambda](configuration-metadata-endpoint.md).

Misalnya, baca alamat server metadata dari `AWS_LAMBDA_METADATA_API` dan kirim permintaan GET yang diautentikasi:

```
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')
```

Titik akhir kembali`application/json`. Misalnya: `{"AvailabilityZoneID": "use1-az1"}`.