Personnalisation des journaux d'accès à l'API HTTP - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Personnalisation des journaux d'accès à l'API HTTP

Vous pouvez utiliser les variables suivantes pour personnaliser les journaux d'accès des API HTTP. Pour de plus amples informations sur les journaux d'accès pour les API HTTP, veuillez consulter Configuration de la journalisation pour une API HTTP.

Paramètre Description
$context.accountId

ID de AWS compte du propriétaire de l'API.

$context.apiId

Identifiant qu'API Gateway attribue à votre API.

$context.authorizer.claims.property

Une propriété des demandes renvoyées par le jeton Web JSON (JWT) une fois que l'appelant de la méthode a été authentifié avec succès, telle que. $context.authorizer.claims.username Pour plus d’informations, consultez Contrôle de l'accès aux API HTTP avec les mécanismes d'autorisation JWT.

Note

L'appel de $context.authorizer.claims renvoie la valeur null.

$context.authorizer.error Message d'erreur renvoyé par un mécanisme d'autorisation.
$context.authorizer.principalId

Identification de l'utilisateur principal renvoyée par un mécanisme d'autorisation Lambda.

$context.authorizer.property

Valeur de la paire clé-valeur spécifiée du mappage context renvoyé par une fonction API Gateway du mécanisme d'autorisation Lambda. Par exemple, si le mécanisme d'autorisation retourne le mappage context suivant :

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

l'appel $context.authorizer.key renvoie la chaîne "value", l'appel $context.authorizer.numKey renvoie 1 et l'appel $context.authorizer.boolKey renvoie true.

$context.awsEndpointRequestId

L'ID de demande du AWS point de terminaison indiqué dans l'x-amzn-requestIden-tête x-amz-request-id ou.

$context.awsEndpointRequestId2

L'ID de demande du AWS point de terminaison indiqué dans l'x-amz-id-2en-tête.

$context.customDomain.basePathMatched

Chemin d'accès d'un mappage d'API correspondant à une demande entrante. Applicable lorsqu'un client utilise un nom de domaine personnalisé pour accéder à une API. Par exemple, si un client envoie une demande à https://api.example.com/v1/orders/1234 et que cette demande correspond au mappage d'API dont le chemin d'accès est v1/orders, la valeur est v1/orders. Pour en savoir plus, consultez la section Utilisation des mappages d'API pour les API HTTP.

$context.dataProcessed Quantité de données traitées en octets.
$context.domainName

Nom de domaine complet utilisé pour invoquer l'API. Il doit être identique à l'en-tête Host entrant.

$context.domainPrefix

Première étiquette de $context.domainName.

$context.error.message

Chaîne contenant un message d'erreur API Gateway.

$context.error.messageString La valeur entre guillemets de $context.error.message, à savoir "$context.error.message".
$context.error.responseType

Type de GatewayResponse. Pour de plus amples informations, veuillez consulter Surveillance de WebSocket l'exécution des API à l'aide de CloudWatch métriques et Configuration de réponses de passerelle pour personnaliser des réponses d'erreur.

$context.extendedRequestId Équivalent à $context.requestId.
$context.httpMethod

La méthode HTTP utilisée. Les valeurs valides sont les suivantes : DELETE, GET, HEAD, OPTIONS, PATCH, POST et PUT.

$context.identity.accountId

L'ID de AWS compte associé à la demande. Pris en charge pour les routes qui utilisent l'autorisation IAM.

$context.identity.caller

Identifiant principal de l'appelant qui a signé la demande. Pris en charge pour les routes qui utilisent l'autorisation IAM.

$context.identity.cognitoAuthenticationProvider

Liste séparée par des virgules des fournisseurs d'authentification Amazon Cognito utilisés par l'appelant à l'origine de la demande. Disponible uniquement si la demande a été signée avec les informations d'identification Amazon Cognito.

Par exemple, pour une identité provenant d'un pool d'utilisateurs Amazon Cognito, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Pour de plus amples informations, veuillez consulter Utilisation des identités fédérées dans le Manuel du développeur Amazon Cognito.

$context.identity.cognitoAuthenticationType

Type d'authentification Amazon Cognito de l'appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d'identification Amazon Cognito. Les valeurs possibles incluent authenticated pour les identités authentifiées et unauthenticated pour les identités non authentifiées.

$context.identity.cognitoIdentityId

ID d'identité Amazon Cognito de l'appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d'identification Amazon Cognito.

$context.identity.cognitoIdentityPoolId

ID de groupe d'identités Amazon Cognito de l'appelant effectuant la demande. Disponible uniquement si la demande a été signée avec les informations d'identification Amazon Cognito.

$context.identity.principalOrgId

ID d’organisation AWS. Pris en charge pour les routes qui utilisent l'autorisation IAM.

$context.identity.clientCert.clientCertPem

Certificat client codé PEM présenté par le client lors de l'authentification TLS mutuelle. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.clientCert.subjectDN

Nom distinctif de l'objet du certificat présenté par un client. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.clientCert.issuerDN

Nom distinctif de l'émetteur du certificat présenté par un client. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.clientCert.serialNumber

Numéro de série du certificat. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.clientCert.validity.notBefore

Date avant laquelle le certificat n'est pas valide. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.clientCert.validity.notAfter

Date après laquelle le certificat n'est pas valide. Présent lorsqu'un client accède à une API à l'aide d'un nom de domaine personnalisé pour lequel l'authentification TLS mutuelle est activée.

$context.identity.sourceIp

L'adresse IP source de la connexion TCP envoyant la demande au point de terminaison de l'API Gateway.

$context.identity.user

Identifiant principal de l'utilisateur qui sera autorisé à accéder aux ressources. Pris en charge pour les routes qui utilisent l'autorisation IAM.

$context.identity.userAgent

En-tête User-Agent de l'appelant d'API.

$context.identity.userArn

ARN (Amazon Resource Name) de l'utilisateur identifié après l'authentification. Pris en charge pour les routes qui utilisent l'autorisation IAM. Pour de plus amples informations, veuillez consulter https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html.

$context.integration.error Message d'erreur renvoyé à partir d'une intégration. Équivalent à $context.integrationErrorMessage.
$context.integration.integrationStatus Pour l'intégration du proxy Lambda, le code d'état est renvoyé par le code de fonction Lambda principal AWS Lambda, et non par le code de fonction Lambda principal.
$context.integration.latency Latence d'intégration en millisecondes (ms). Équivalent à $context.integrationLatency.
$context.integration.requestId ID de demande du AWS point de terminaison. Équivalent à $context.awsEndpointRequestId.
$context.integration.status Code d'état renvoyé à partir d'une intégration. Pour les intégrations de proxy Lambda, code d'état que votre code de fonction Lambda renvoie.
$context.integrationErrorMessage

Chaîne contenant un message d'erreur d'intégration.

$context.integrationLatency Latence d'intégration en millisecondes (ms).
$context.integrationStatus Pour l'intégration du proxy Lambda, ce paramètre représente le code d'état renvoyé par la fonction Lambda principale AWS Lambda, et non par celle-ci.
$context.path Chemin d'accès de la demande. Par exemple, /{stage}/root/child.
$context.protocol Protocole de demande, par exempl, HTTP/1.1.
Note

Les API d'API Gateway peuvent accepter les requêtes HTTP/2, mais API Gateway envoie les requêtes aux intégrations backend en utilisant HTTP/1.1. Par conséquent, le protocole de requête est enregistré comme HTTP/1.1 même si un client envoie une requête qui utilise HTTP/2.

$context.requestId

ID attribué par API Gateway à la demande d'API.

$context.requestTime Durée des demandes au format CLF (dd/MMM/yyyy:HH:mm:ss +-hhmm).
$context.requestTimeEpoch Durée des demandes au format Epoch.
$context.responseLatency Latence de la réponse en millisecondes (ms).
$context.responseLength La longueur de la charge utile de la réponse en octets.
$context.routeKey

La clé de routage de la demande d'API, par exemple /pets.

$context.stage

Étape de déploiement de la demande d'API (par exemple, beta ou prod).

$context.status Statut de la réponse de la méthode.