HTTP-API-Zugriffsprotokolle anpassen - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

HTTP-API-Zugriffsprotokolle anpassen

Sie können die folgenden Variablen zur Anpassung der HTTP-API-Zugriffsprotokolle verwenden. Weitere Informationen zu Zugriffsprotokollen für HTTP APIs finden Sie unterKonfigurieren Sie die Protokollierung für HTTP APIs in API Gateway.

Parameter Beschreibung
$context.accountId

Die AWS Konto-ID des API-Besitzers.

$context.apiId

Die ID, die API Gateway Ihrer API zuweist.

$context.authorizer.claims.property

Eine Eigenschaft der Ansprüche, die das JSON Web Token (JWT) zurückgibt, nachdem der Aufrufer der Methode erfolgreich authentifiziert wurde (z. B. $context.authorizer.claims.username). Weitere Informationen finden Sie unter Steuern Sie den Zugriff auf HTTP APIs mit JWT-Autorisierern in API Gateway.

Anmerkung

Bei einem Aufruf von $context.authorizer.claims wird null (0) zurückgegeben.

$context.authorizer.error Die von einem Genehmiger zurückgegebene Fehlermeldung.
$context.authorizer.principalId

Die ID des Prinzipalbenutzers, die ein Lambda-Genehmiger zurückgibt.

$context.authorizer.property

Der Wert des angegebenen Schlüssel-Wert-Paares der context-Zuordnung, die von einer Lambda-Genehmigerfunktion des API Gateways zurückgegeben wird. Angenommen, der Genehmiger gibt folgende context-Zuweisung zurück:

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

Der Aufruf von $context.authorizer.key gibt die Zeichenfolge "value" zurück, der Aufruf von $context.authorizer.numKey gibt 1 zurück, und der Aufruf von $context.authorizer.boolKey gibt true zurück.

$context.awsEndpointRequestId

Die Anforderungs-ID des AWS Endpunkts aus dem x-amz-request-id x-amzn-requestId OR-Header.

$context.awsEndpointRequestId2

Die Anforderungs-ID des AWS Endpunkts aus dem x-amz-id-2 Header.

$context.customDomain.basePathMatched

Der Pfad für ein API-Mapping, mit dem eine eingehende Anforderung übereinstimmte. Gilt, wenn ein Client einen benutzerdefinierten Domain-Namen für den Zugriff auf eine API verwendet. Wenn ein Client beispielsweise eine Anforderung an https://api.example.com/v1/orders/1234 sendet und die Anforderung dem API-Mapping mit dem Pfad v1/orders übereinstimmt, lautet der Wert v1/orders. Weitere Informationen hierzu finden Sie unter Ordnen Sie API-Stufen einem benutzerdefinierten Domainnamen für HTTP zu APIs.

$context.dataProcessed Die Menge der verarbeiteten Daten in Bytes.
$context.domainName

Der zum Aufrufen der API verwendete vollständige Domänennamen. Dieser Wert sollte mit dem für den eingehenden Host-Header übereinstimmen.

$context.domainPrefix

Das erste Label der $context.domainName.

$context.error.message

Eine Zeichenfolge, die eine API Gateway-Fehlermeldung enthält.

$context.error.messageString Die Wert von $context.error.message in Anführungszeichen, d. h. "$context.error.message".
$context.error.responseType

Ein Typ von GatewayResponse. Weitere Informationen erhalten Sie unter Überwachen Sie die WebSocket API-Ausführung mit CloudWatch Metriken und Einrichten von Gateway-Antworten, um Fehlerantworten anzupassen.

$context.extendedRequestId Äquivalent mit $context.requestId.
$context.httpMethod

Die verwendete HTTP-Methode. Gültige Werte sind: DELETE, GET, HEAD, OPTIONS, PATCH, POST und PUT.

$context.identity.accountId

Die der Anfrage zugeordnete AWS Konto-ID. Wird für Routen unterstützt, die die IAM-Autorisierung verwenden.

$context.identity.caller

Die Hauptkennung des Aufrufers, der die Anforderung signiert hat. Wird für Routen unterstützt, die die IAM-Autorisierung verwenden.

$context.identity.cognitoAuthenticationProvider

Eine durch Komma getrennte Liste aller Amazon-Cognito-Authentifizierungsanbieter, die vom anfordernden Aufrufer verwendet werden. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

Zum Beispiel für eine Identität aus einem Amazon Cognito-Benutzerpool, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Weitere Informationen zu verfügbaren Amazon-Cognito-Authentifizierungsanbietern finden Sie unter Verbundidentitäten verwenden im Amazon-Cognito-Entwicklerhandbuch.

$context.identity.cognitoAuthenticationType

Der Amazon Cognito-Authentifizierungstyp des Aufrufers, der den Anfrage erstellt hat. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde. Mögliche Werte sind authenticated für authentifizierte Identitäten und unauthenticated für nicht authentifizierte Identitäten.

$context.identity.cognitoIdentityId

Die Amazon Cognito Identitäts-ID des anfordernden Aufrufers. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

$context.identity.cognitoIdentityPoolId

Die Amazon Cognito Identitätspool-ID des anfordernden Aufrufers. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

$context.identity.principalOrgId

Die AWS -Organisations-ID. Wird für Routen unterstützt, die die IAM-Autorisierung verwenden.

$context.identity.clientCert.clientCertPem

Das PEM-codierte Clientzertifikat, das der Client während der gegenseitigen TLS-Authentifizierung präsentiert hat. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.clientCert.subjectDN

Der Distinguished Name des Zertifikatantragsstellers, den ein Client präsentiert. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.clientCert.issuerDN

Der Distinguished Name des Ausstellers des Zertifikats, das ein Client präsentiert. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.clientCert.serialNumber

Die Seriennummer des Zertifikats. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.clientCert.validity.notBefore

Das Datum, vor dem das Zertifikat ungültig ist. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.clientCert.validity.notAfter

Das Datum, nach dem das Zertifikat ungültig ist. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domänennamens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift.

$context.identity.sourceIp

Die Quell-IP-Adresse der TCP-Verbindung, von der die Anforderung an API Gateway gesendet wird.

$context.identity.user

Die Hauptkennung des Benutzers, der für den Ressourcenzugriff autorisiert wird. Wird für Routen unterstützt, die die IAM-Autorisierung verwenden.

$context.identity.userAgent

Die User-Agent-Kopfzeile des API-Aufrufers.

$context.identity.userArn

Der ARN (Amazon Resource Name) des tatsächlichen Benutzers nach der Authentifizierung. Wird für Routen unterstützt, die die IAM-Autorisierung verwenden. Weitere Informationen finden Sie unter https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html.

$context.integration.error Die von einer Integration zurückgegebene Fehlermeldung. Äquivalent mit $context.integrationErrorMessage.
$context.integration.integrationStatus Bei der Lambda-Proxyintegration wurde der Statuscode vom Lambda-Funktionscode zurückgegeben AWS Lambda, nicht vom Backend-Funktionscode.
$context.integration.latency Die Integrationslatenz in Millisekunden. Äquivalent mit $context.integrationLatency.
$context.integration.requestId Die AWS Anforderungs-ID des Endpunkts. Äquivalent mit $context.awsEndpointRequestId.
$context.integration.status Der von einer Integration zurückgegebene Statuscode. Bei Lambda-Proxy-Integrationen ist dies der Statuscode, der von Ihrem Lambda-Funktionscode zurückgegeben wird.
$context.integrationErrorMessage

Eine Zeichenfolge, die eine Integrationsfehlermeldung enthält.

$context.integrationLatency Die Integrationslatenz in Millisekunden.
$context.integrationStatus Bei der Lambda-Proxyintegration stellt dieser Parameter den Statuscode dar, der von der Backend-Lambda-Funktion zurückgegeben wird AWS Lambda, nicht von der Backend-Funktion.
$context.path Der Anforderungspfad. Beispiel, /{stage}/root/child.
$context.protocol Das Anforderungsprotokoll ist z. B, HTTP/1.1.
Anmerkung

API Gateway APIs kann HTTP/2-Anfragen akzeptieren, aber API Gateway sendet Anfragen über HTTP/1.1 an Backend-Integrationen. Infolgedessen wird das Anforderungsprotokoll als HTTP/1.1 protokolliert, auch wenn ein Client eine Anfrage sendet, die HTTP/2 verwendet.

$context.requestId

Die ID, die API Gateway der API-Anfrage zuweist.

$context.requestTime Die Anforderungszeit im CLF-Format (dd/MMM/yyyy:HH:mm:ss +-hhmm).
$context.requestTimeEpoch Die Anforderungszeit im Epoch-Format.
$context.responseLatency Die Antwortlatenz in Millisekunden.
$context.responseLength Die Länge der Antwortnutzlast in Byte.
$context.routeKey

Der Routing-Schlüssel der API-Anfrage, z. B. /pets.

$context.stage

Die Bereitstellungsstufe der API-Anforderung (z. B. beta oder prod).

$context.status Der Status der Methodenantwort.