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.
Variablen für die Zugriffsprotokollierung für API Gateway
In der Zugriffsprotokollierung protokollieren Sie, als API-Entwickler, wer auf Ihre API zugegriffen hat und wie der Aufrufer auf die API zugegriffen hat. Erstellen Sie eine eigene Protokollgruppe oder wählen Sie eine vorhandene Protokollgruppe aus, die von API Gateway verwaltet werden kann. Um die Zugriffsdetails anzugeben, können Sie die folgenden $context
Variablen verwenden, bei denen die Groß- und Kleinschreibung beachtet wird.
Eine Liste der Referenzvariablen für Datentransformationen finden Sie unter. Variablen für Datentransformationen für API Gateway
Parameter | Beschreibung |
---|---|
$context.accountId |
Die AWS Konto-ID des API-Besitzers. |
$context.apiId |
Die ID, die API Gateway Ihrer API zuweist. |
$context.authorize.error |
Die Autorisierungsfehlermeldung. |
$context.authorize.latency |
Die Autorisierungslatenz in ms |
$context.authorize.status |
Der Statuscode, der von einem Autorisierungsversuch zurückgegeben wurde. |
$context.authorizer.claims. |
Eine Eigenschaft der Claims, die aus dem Amazon Cognito-Benutzerpool zurückgegeben werden, nachdem der Methodenaufrufer erfolgreich authentifiziert wurde. Weitere Informationen finden Sie unter Steuern Sie den Zugriff auf REST APIs mithilfe von Amazon Cognito Cognito-Benutzerpools als Autorisierer. AnmerkungBei einem Aufruf von |
$context.authorizer.error |
Die von einem Genehmiger zurückgegebene Fehlermeldung. |
$context.authorizer.integrationLatency |
Die Integrationslatenz des Genehmigers in Millisekunden |
$context.authorizer.integrationStatus |
Der von einem Lambda-Genehmiger zurückgegebene Statuscode. |
$context.authorizer.latency |
Der Genehmiger-Latenz in ms. |
$context.authorizer.principalId |
Die ID des Prinzipalbenutzers in Verbindung mit dem Token, das vom Client gesendet und von einem API Gateway-Lambda-Genehmiger (früher als benutzerdefinierter Genehmiger bekannt) zurückgegeben wurde. Weitere Informationen finden Sie unter API Gateway-Lambda-Genehmiger verwenden. |
$context.authorizer. |
Der in einer Zeichenfolge umgewandelte Wert des angegebenen Schlüssel-Wert-Paares der
Ein Aufruf von Denn Weitere Informationen finden Sie unter API Gateway-Lambda-Genehmiger verwenden. |
$context.authorizer.requestId |
Die Anforderungs-ID des AWS Endpunkts. |
$context.authorizer.status |
Der von einem Genehmiger zurückgegebene Statuscode. |
$context.authenticate.error |
Die von einem Authentifizierungsversuch zurückgegebene Fehlermeldung. |
$context.authenticate.latency |
Die Authentifizierungslatenz in ms |
$context.authenticate.status |
Der Statuscode, der von einem Authentifizierungsversuch zurückgegeben wurde. |
$context.awsEndpointRequestId |
Die Anforderungs-ID des AWS Endpunkts. |
$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 |
$context.customDomain.routingRuleIdMatched |
Die Routing-Regel, der eine eingehende Anfrage entsprach. Gilt, wenn ein Client einen benutzerdefinierten Domain-Namen für den Zugriff auf eine API verwendet. Weitere Informationen hierzu finden Sie unter Routing-Regeln zum Verbinden von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs. |
$context.deploymentId |
Die ID der API-Bereitstellung |
$context.domainName |
Der zum Aufrufen der API verwendete vollständige Domänennamen. Dieser Wert sollte mit dem für den eingehenden |
$context.domainPrefix |
Das erste Label der |
$context.endpointType |
Der Endpunkttyp der API. |
$context.error.message |
Eine Zeichenfolge, die eine API Gateway-Fehlermeldung enthält. Diese Variable kann nur für die einfache Variablenersetzung in einer GatewayResponseBody-Mapping-Vorlage, die nicht von der Velocity Template Language-Engine verarbeitet wird, und für die Zugriffsprotokollierung verwendet werden. Weitere Informationen erhalten Sie unter Überwachen Sie die WebSocket API-Ausführung mit CloudWatch Metriken und Einrichten von Gateway-Antworten, um Fehlerantworten anzupassen. |
$context.error.messageString |
Die Wert von $context.error.message in Anführungszeichen, d. h. "$context.error.message" . |
$context.error.responseType |
Ein Typ von. GatewayResponse Diese Variable kann nur für die einfache Variablenersetzung in einer GatewayResponseBody-Mapping-Vorlage, die nicht von der Velocity Template Language-Engine verarbeitet wird, und für die Zugriffsprotokollierung verwendet werden. Weitere Informationen erhalten Sie unter Überwachen Sie die WebSocket API-Ausführung mit CloudWatch Metriken und Einrichten von Gateway-Antworten, um Fehlerantworten anzupassen. |
$context.error.validationErrorString |
Eine Zeichenfolge mit einer detaillierten Validierungs-Fehlermeldung. |
$context.extendedRequestId |
Die erweiterte ID, die API Gateway generiert und der API-Anfrage zuweist. Die erweiterte Anforderungs-ID enthält zusätzliche nützliche Informationen für Debugging und Fehlerbehebung. |
$context.httpMethod |
Die verwendete HTTP-Methode. Gültige Werte sind: |
$context.identity.accountId |
Die der AWS Anfrage zugeordnete Konto-ID. |
$context.identity.apiKey |
Bei API-Methoden, für die ein API-Schlüssel erforderlich ist, ist diese Variable der API-Schlüssel für die Methodenanforderung. Bei Methoden, für die kein API-Schlüssel erforderlich ist, ist diese Variable nichtig. Weitere Informationen finden Sie unter Nutzungspläne und API-Schlüssel für REST APIs in API Gateway. |
$context.identity.apiKeyId |
Die API-Schlüssel-ID für die API-Anforderung, falls ein API-Schlüssel erforderlich ist. |
$context.identity.caller |
Die Hauptkennung des Aufrufers, der die Anforderung signiert hat. Wird für Ressourcen 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, 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 |
$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 |
|
$context.identity.sourceIp |
Die Quell-IP-Adresse der TCP-Verbindung, von der die Anforderung an den API-Gateway-Endpunkt gesendet wird. |
$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. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$context.identity.clientCert.subjectDN |
Der Distinguished Name des Zertifikatantragsstellers, den ein Client präsentiert. Vorhanden, wenn ein Client mithilfe eines benutzerdefinierten Domain-Namens, für den gegenseitige TLS aktiviert ist, auf eine API zugreift. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$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. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$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. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$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. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$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. Nur in Zugriffsprotokollen vorhanden, wenn die gegenseitige TLS-Authentifizierung fehlschlägt. |
$context.identity.vpcId |
Die VPC-ID der VPC, deren Anforderung an den API-Gateway-Endpunkt gesendet wird. |
$context.identity.vpceId |
Die VPC-Endpunkt-ID des VPC-Endpunkts, dessen Anforderung an den API-Gateway-Endpunkt gesendet wird. Diese ist nur vorhanden, wenn Ihre API privat ist. |
$context.identity.user |
Die Hauptkennung des Benutzers, der für den Ressourcenzugriff autorisiert wird. Wird für Ressourcen unterstützt, die die IAM-Autorisierung verwenden. |
$context.identity.userAgent |
Die |
$context.identity.userArn |
Der ARN (Amazon Resource Name) des tatsächlichen Benutzers nach der Authentifizierung. 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. |
$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.integrationLatency |
Die Integrationslatenz in Millisekunden. |
$context.integrationStatus |
Für die Lambda-Proxyintegration stellt dieser Parameter den Statuscode dar, der vom Lambda-Funktionscode zurückgegeben wurde AWS Lambda, nicht aus dem Back-End-Lambda-Funktionscode. |
$context.isCanaryRequest |
Gibt |
$context.path |
Der Anforderungspfad. Bei einer Nicht-Proxy-Anforderungs-URL von https://{rest-api-id}.execute-api.{region}.amazonaws.com/{stage}/root/child lautet der $context.path -Wert beispielsweise /{stage}/root/child . |
$context.protocol |
Das Anforderungsprotokoll ist z. B, HTTP/1.1 . AnmerkungAPI 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 |
Eine ID für die Anforderung. Clients können diese Anforderungs-ID überschreiben. Verwenden von |
$context.requestOverride.header. |
Der Anforderungs-Header-Override. Wenn dieser Parameter definiert ist, enthält er die Header, die statt der HTTP Header, die im Bereich Integrationsanforderung definiert sind, verwendet werden sollen. Weitere Informationen finden Sie unter Überschreiben Sie die Anfrage- und Antwortparameter und Statuscodes Ihrer API für REST APIs in API Gateway. |
$context.requestOverride.path. |
Der Anforderungspfad-Override. Wenn dieser Parameter definiert ist, enthält er den Anforderungspfad, der statt der URL-Pfadparameter, die im Bereich Integrationsanforderung definiert sind, verwendet werden soll. Weitere Informationen finden Sie unter Überschreiben Sie die Anfrage- und Antwortparameter und Statuscodes Ihrer API für REST APIs in API Gateway. |
$context.requestOverride.querystring. |
Der Abfragestring-Override. Wenn dieser Parameter definiert ist, enthält er die Abfragestrings, die statt der URL-Abfragestring-Parameter, die im Bereich Integrationsanforderung definiert sind, verwendet werden sollen. Weitere Informationen finden Sie unter Überschreiben Sie die Anfrage- und Antwortparameter und Statuscodes Ihrer API für REST APIs in API Gateway. |
$context.responseLatency |
Die Antwortlatenz in Millisekunden. |
$context.responseLength |
Die Länge der Antwortnutzlast in Byte. |
$context.responseOverride.header. |
Der Antwort-Header-Override. Wenn dieser Parameter definiert ist, enthält er den Header, der anstelle des Antwort-Headers, der als Standard-Mapping im Bereich Integrationsantwort definiert ist, ausgegeben werden soll. Weitere Informationen finden Sie unter Überschreiben Sie die Anfrage- und Antwortparameter und Statuscodes Ihrer API für REST APIs in API Gateway. |
$context.responseOverride.status |
Der Antwortstatuscode-Override. Wenn dieser Parameter definiert ist, enthält er den Statuscode, der anstelle des Methoden-Antwortstatus, der als Standard-Mapping im Bereich Integrationsantwort definiert ist, ausgegeben werden soll. Weitere Informationen finden Sie unter Überschreiben Sie die Anfrage- und Antwortparameter und Statuscodes Ihrer API für REST APIs in API Gateway. |
$context.requestTime |
Die Anforderungszeit im CLFdd/MMM/yyyy:HH:mm:ss
+-hhmm ). |
$context.requestTimeEpoch |
Die Anforderungszeit im Epoch |
$context.resourceId |
Der Bezeichner, den API Gateway Ihrer Ressource zuweist. |
$context.resourcePath |
Der Pfad zu Ihrer Ressource. Beim Nicht-Proxy-Anforderungs-URI von |
$context.stage |
Die Bereitstellungsstufe der API-Anforderung (z. B. |
$context.status |
Der Status der Methodenantwort. |
$context.waf.error |
Die Fehlermeldung wurde von zurückgegeben. AWS WAF |
$context.waf.latency |
Die AWS WAF Latenz in ms. |
$context.waf.status |
Der Statuscode wurde von zurückgegeben AWS WAF. |
$context.xrayTraceId |
Die Trace-ID für die X-Ray-Trace. Weitere Informationen finden Sie unter AWS X-Ray Mit API Gateway REST einrichten APIs. |
$context.wafResponseCode |
Die von AWS WAF empfangene Antwort: |
$context.webaclArn |
Vollständiger ARN der Web-Zugriffskontrollliste (Web-ACL), anhand deren entschieden wird, ob die Anforderung zugelassen oder blockiert wird. Wird nicht festgelegt, wenn die Stufe mit keiner Web-ACL verknüpft ist. Weitere Informationen finden Sie unter Verwenden Sie AWS WAF , um Ihren REST APIs in API Gateway zu schützen. |