Kustomisasi log akses HTTP API - Amazon API Gateway

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

Kustomisasi log akses HTTP API

Anda dapat menggunakan variabel berikut untuk menyesuaikan log akses HTTP API. Untuk mempelajari lebih lanjut tentang log akses untuk API HTTP, lihatKonfigurasikan logging untuk API HTTP di API Gateway.

Parameter Deskripsi
$context.accountId

ID AWS akun pemilik API.

$context.apiId

API Gateway identifier ditetapkan ke API Anda.

$context.authorizer.claims.property

Properti klaim yang dikembalikan dari JSON Web Token (JWT) setelah pemanggil metode berhasil diautentikasi, seperti. $context.authorizer.claims.username Untuk informasi selengkapnya, lihat Kontrol akses ke API HTTP dengan otorisasi JWT.

catatan

Memanggil $context.authorizer.claims mengembalikan null.

$context.authorizer.error Pesan kesalahan dikembalikan dari otorisasi.
$context.authorizer.principalId

Identifikasi pengguna utama yang dikembalikan oleh otorisasi Lambda.

$context.authorizer.property

Nilai pasangan nilai kunci yang ditentukan dari context peta dikembalikan dari fungsi otorisasi API Gateway Lambda. Misalnya, jika otorisasi mengembalikan context peta berikut:

"context" : { "key": "value", "numKey": 1, "boolKey": true }

memanggil $context.authorizer.key mengembalikan "value" string, memanggil $context.authorizer.numKey mengembalikan1, dan memanggil $context.authorizer.boolKey kembalitrue.

$context.awsEndpointRequestId

ID permintaan AWS titik akhir dari x-amzn-requestId header x-amz-request-id atau.

$context.awsEndpointRequestId2

ID permintaan AWS titik akhir dari x-amz-id-2 header.

$context.customDomain.basePathMatched

Jalur untuk pemetaan API yang cocok dengan permintaan masuk. Berlaku ketika klien menggunakan nama domain khusus untuk mengakses API. Misalnya jika klien mengirim permintaan kehttps://api.example.com/v1/orders/1234, dan permintaan tersebut cocok dengan pemetaan API dengan jalurv1/orders, nilainya adalahv1/orders. Untuk mempelajari selengkapnya, lihat Memetakan tahapan API ke nama domain khusus untuk API HTTP.

$context.dataProcessed Jumlah data yang diproses dalam byte.
$context.domainName

Nama domain lengkap yang digunakan untuk memanggil API. Ini harus sama dengan Host header yang masuk.

$context.domainPrefix

Label pertama dari$context.domainName.

$context.error.message

String yang berisi pesan kesalahan API Gateway.

$context.error.messageString Nilai yang dikutip dari$context.error.message, yaitu"$context.error.message".
$context.error.responseType

Sebuah jenisGatewayResponse. Untuk informasi selengkapnya, lihat Pantau eksekusi WebSocket API dengan CloudWatch metrik dan Menyiapkan respons gateway untuk menyesuaikan respons kesalahan.

$context.extendedRequestId Setara dengan$context.requestId.
$context.httpMethod

Metode HTTP yang digunakan. Nilai yang valid meliputi: DELETEGET,,HEAD,OPTIONS,PATCH,POST, danPUT.

$context.identity.accountId

ID AWS akun yang terkait dengan permintaan. Didukung untuk rute yang menggunakan otorisasi IAM.

$context.identity.caller

Pengenal utama penelepon yang menandatangani permintaan. Didukung untuk rute yang menggunakan otorisasi IAM.

$context.identity.cognitoAuthenticationProvider

Daftar dipisahkan koma dari semua penyedia otentikasi Amazon Cognito yang digunakan oleh penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.

Misalnya, untuk identitas dari kumpulan pengguna Amazon Cognito, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Untuk informasi tentang penyedia autentikasi Amazon Cognito yang tersedia, lihat Menggunakan Identitas Federasi di Panduan Pengembang Amazon Cognito.

$context.identity.cognitoAuthenticationType

Jenis otentikasi Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito. Nilai yang mungkin termasuk authenticated untuk identitas yang diautentikasi dan unauthenticated untuk identitas yang tidak diautentikasi.

$context.identity.cognitoIdentityId

ID identitas Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.

$context.identity.cognitoIdentityPoolId

ID kumpulan identitas Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.

$context.identity.principalOrgId

ID AWS organisasi. Didukung untuk rute yang menggunakan otorisasi IAM.

$context.identity.clientCert.clientCertPem

Sertifikat klien yang dikodekan PEM yang disajikan klien selama otentikasi TLS timbal balik. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.clientCert.subjectDN

Nama yang dibedakan dari subjek sertifikat yang disajikan klien. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.clientCert.issuerDN

Nama terhormat dari penerbit sertifikat yang disajikan klien. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.clientCert.serialNumber

Nomor seri sertifikat. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.clientCert.validity.notBefore

Tanggal sebelum sertifikat tidak valid. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.clientCert.validity.notAfter

Tanggal setelah sertifikat tidak valid. Hadir saat klien mengakses API dengan menggunakan nama domain khusus yang mengaktifkan TLS timbal balik.

$context.identity.sourceIp

Alamat IP sumber dari koneksi TCP langsung membuat permintaan ke titik akhir API Gateway.

$context.identity.user

Pengidentifikasi utama pengguna yang akan diotorisasi terhadap akses sumber daya. Didukung untuk rute yang menggunakan otorisasi IAM.

$context.identity.userAgent

User-AgentHeader pemanggil API.

$context.identity.userArn

Nama Sumber Daya Amazon (ARN) dari pengguna efektif yang diidentifikasi setelah otentikasi. Didukung untuk rute yang menggunakan otorisasi IAM. Untuk informasi selengkapnya, lihat https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html.

$context.integration.error Pesan kesalahan dikembalikan dari integrasi. Setara dengan$context.integrationErrorMessage.
$context.integration.integrationStatus Untuk integrasi proxy Lambda, kode status dikembalikan dari AWS Lambda, bukan dari kode fungsi Lambda backend.
$context.integration.latency Latensi integrasi dalam ms. Setara dengan$context.integrationLatency.
$context.integration.requestId ID permintaan AWS titik akhir. Setara dengan$context.awsEndpointRequestId.
$context.integration.status Kode status dikembalikan dari integrasi. Untuk integrasi proxy Lambda, ini adalah kode status yang dikembalikan oleh kode fungsi Lambda Anda.
$context.integrationErrorMessage

String yang berisi pesan kesalahan integrasi.

$context.integrationLatency Latensi integrasi dalam ms.
$context.integrationStatus Untuk integrasi proxy Lambda, parameter ini mewakili kode status yang dikembalikan dari AWS Lambda, bukan dari fungsi Lambda backend.
$context.path Jalur permintaan. Misalnya, /{stage}/root/child.
$context.protocol Protokol permintaan, misalnya,HTTP/1.1.
catatan

API Gateway API dapat menerima permintaan HTTP/2, tetapi API Gateway mengirimkan permintaan ke integrasi backend menggunakan HTTP/1.1. Akibatnya, protokol permintaan dicatat sebagai HTTP/1.1 bahkan jika klien mengirim permintaan yang menggunakan HTTP/2.

$context.requestId

ID yang ditetapkan API Gateway ke permintaan API.

$context.requestTime Waktu permintaan yang diformat CLF (). dd/MMM/yyyy:HH:mm:ss +-hhmm
$context.requestTimeEpoch Waktu permintaan yang diformat Epoch.
$context.responseLatency Latensi respons dalam ms.
$context.responseLength Panjang payload respon dalam byte.
$context.routeKey

Kunci rute permintaan API, misalnya/pets.

$context.stage

Tahap penerapan permintaan API (misalnya, beta atauprod).

$context.status Status respons metode.