HTTP-API-Zugriffsprotokolle anpassen - Amazon API Gateway

HTTP-API-Zugriffsprotokolle anpassen

Sie können die folgenden Variablen zur Anpassung der HTTP-API-Zugriffsprotokolle verwenden. Um mehr über Zugriffsprotokolle für HTTP-APIs zu erfahren, lesen Sie Protokollierung für eine HTTP-API konfigurieren.

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. Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP-APIs mit JWT-Genehmigern.

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-amzn-requestId- oder x-amz-request-id-Header.

$context.awsEndpointRequestId2

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

$context.customDomain.basePathMatched

Der Pfad für eine API-Zuordnung, mit der 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 Arbeiten mit API-Zuweisungen für HTTP-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 WebSocket-API-Ausführung mit CloudWatch-Metriken überwachen 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 AWS-Konto-ID der Anforderung. 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 der Amazon Cognito-Authentifizierungsanbieter, die vom Aufrufer, der die Anfrage stellt, 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 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 Für die Lambda-Proxy-Integration wird der Statuscode von AWS Lambda zurückgegeben, nicht der Backend-Lambda-Funktionscode.
$context.integration.latency Die Integrationslatenz in Millisekunden. Äquivalent mit $context.integrationLatency.
$context.integration.requestId Die Anforderungs-ID des AWS-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 Für die Lambda-Proxy-Integrationen stellt dieser Parameter den Statuscode dar, der von AWS Lambda zurückgegeben wird, nicht von der Backend-Lambda-Funktion.
$context.path Der Anforderungspfad. Zum Beispiel /{stage}/root/child.
$context.protocol Das Anforderungsprotokoll ist z. B, HTTP/1.1.
Anmerkung

API-Gateway-APIs können HTTP/2-Anfragen akzeptieren, aber API Gateway sendet Anfragen mithilfe von 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.