Personalización de registros de acceso de las API de HTTP - Amazon API Gateway

Personalización de registros de acceso de las API de HTTP

Puede utilizar las siguientes variables para personalizar los registros de acceso de las API HTTP. Para obtener más información acerca de los registros de acceso para las API HTTP, consulte Configuración del registro de las API de HTTP en API Gateway.

Parámetro Descripción
$context.accountId

El ID de cuenta de AWS del propietario de la API.

$context.apiId

El identificador que API Gateway asigna a su API.

$context.authorizer.claims.property

Una propiedad de las reclamaciones devueltas por el JSON Web Token (JWT) una vez que se ha autenticado correctamente al intermediario del método, como $context.authorizer.claims.username. Para obtener más información, consulte Control del acceso a las API de HTTP con autorizadores de JWT en API Gateway.

nota

La llamada a $context.authorizer.claims devuelve null.

$context.authorizer.error El mensaje de error devuelto por un autorizador.
$context.authorizer.principalId

Identificación de usuario principal que devuelve un autorizador de Lambda.

$context.authorizer.property

El valor del par clave-valor especificado de la asignación context devuelto de una función de autorizador de Lambda para API Gateway. Por ejemplo, si el autorizador devuelve la siguiente asignación de context:

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

la llamada a $context.authorizer.key devuelve la cadena "value", la llamada a $context.authorizer.numKey devuelve 1 y la llamada a $context.authorizer.boolKey devuelve true.

$context.awsEndpointRequestId

El ID de la solicitud del punto de enlace de AWS desde el encabezado x-amz-request-id o x-amzn-requestId.

$context.awsEndpointRequestId2

El ID de la solicitud del punto de enlace de AWS desde el encabezado x-amz-id-2.

$context.customDomain.basePathMatched

La ruta de un mapeo de la API con la que coincidió una solicitud entrante. Aplicable cuando un cliente utiliza un nombre de dominio personalizado para acceder a una API. Por ejemplo, si un cliente envía una solicitud a https://api.example.com/v1/orders/1234 y la solicitud empareja el mapeo de la API con la ruta v1/orders, el valor es v1/orders. Para obtener más información, consulte Asignación de etapas de API a un nombre de dominio personalizado para las API de HTTP.

$context.dataProcessed La cantidad de datos procesados en bytes.
$context.domainName

El nombre de dominio completo que se utiliza para invocar la API. Este debe ser el mismo que el encabezado Host entrante.

$context.domainPrefix

La primera etiqueta del $context.domainName.

$context.error.message

Una cadena que contiene un mensaje de error de API Gateway.

$context.error.messageString El valor entrecomillado de $context.error.message, es decir, "$context.error.message".
$context.error.responseType

Un tipo de GatewayResponse. Para obtener más información, consulte Supervisión de la ejecución de la API de WebSocket con métricas de CloudWatch y Configuración de respuestas de gateway para personalizar respuestas de errores.

$context.extendedRequestId Es igual que $context.requestId.
$context.httpMethod

El método HTTP utilizado. Los valores válidos son: DELETE, GET, HEAD, OPTIONS, PATCH, POST y PUT.

$context.identity.accountId

El ID de cuenta de AWS asociado con la solicitud. Compatible con rutas que utilizan la autorización de IAM.

$context.identity.caller

El identificador principal del intermediario que firmó la solicitud. Compatible con rutas que utilizan la autorización de IAM.

$context.identity.cognitoAuthenticationProvider

Una lista separada por comas de todos los proveedores de autenticación de Amazon Cognito utilizados por el intermediario que realiza la solicitud. Solo está disponible si la solicitud se firmó con las credenciales de Amazon Cognito.

Por ejemplo, para una identidad de un grupo de usuarios de Amazon Cognito, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Consulte Uso de las identidades federadas en la Guía para desarrolladores de Amazon Cognito para obtener información sobre los proveedores de autenticación de Amazon Cognito disponibles.

$context.identity.cognitoAuthenticationType

El tipo de autenticación de Amazon Cognito del intermediario que realiza la solicitud. Solo está disponible si la solicitud se firmó con las credenciales de Amazon Cognito. Los valores posibles incluyen authenticated para identidades autenticadas y unauthenticated para identidades no autenticadas.

$context.identity.cognitoIdentityId

El ID de identidad de Amazon Cognito del intermediario que realiza la solicitud. Solo está disponible si la solicitud se firmó con las credenciales de Amazon Cognito.

$context.identity.cognitoIdentityPoolId

El ID del grupo de identidades de Amazon Cognito del intermediario que realiza la solicitud. Solo está disponible si la solicitud se firmó con las credenciales de Amazon Cognito.

$context.identity.principalOrgId

El ID de organización de AWS. Compatible con rutas que utilizan la autorización de IAM.

$context.identity.clientCert.clientCertPem

El certificado de cliente codificado en PEM que el cliente presentó durante la autenticación TLS mutua. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.clientCert.subjectDN

Nombre distintivo del asunto del certificado que presenta un cliente. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.clientCert.issuerDN

Nombre distintivo del emisor del certificado que presenta un cliente. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.clientCert.serialNumber

Número de serie del certificado. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.clientCert.validity.notBefore

Fecha antes de la cual el certificado no es válido. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.clientCert.validity.notAfter

Fecha después de la cual el certificado no es válido. Presente cuando un cliente accede a una API mediante un nombre de dominio personalizado que tiene una TLS mutua habilitada.

$context.identity.sourceIp

La dirección IP de origen de la conexión TCP inmediata que realiza la solicitud al punto de enlace de API Gateway.

$context.identity.user

El identificador principal del usuario que se autorizará a acceder al recurso. Compatible con rutas que utilizan la autorización de IAM.

$context.identity.userAgent

El encabezado User-Agent del intermediario de la API.

$context.identity.userArn

El Nombre de recurso de Amazon (ARN) del usuario identificado después de la autenticación. Compatible con rutas que utilizan la autorización de IAM. Para obtener más información, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html.

$context.integration.error El mensaje de error devuelto por una integración. Es igual que $context.integrationErrorMessage.
$context.integration.integrationStatus Para la integración de proxy de Lambda, el código de estado que devuelve AWS Lambda, en lugar del código de función de Lambda del backend.
$context.integration.latency La latencia de integración en ms. Es igual que $context.integrationLatency.
$context.integration.requestId El ID de solicitud del punto de enlace de AWS. Es igual que $context.awsEndpointRequestId.
$context.integration.status El código de estado devuelto por una integración. Para integraciones de proxy de Lambda, este es el código de estado que devuelve su código de la función de Lambda.
$context.integrationErrorMessage

Una cadena que contiene un mensaje de error de integración.

$context.integrationLatency La latencia de integración en ms.
$context.integrationStatus Para la integración de proxy de Lambda, este parámetro representa el código de estado que se devuelve desde AWS Lambda, y no desde la función de Lambda del backend.
$context.path Ruta de acceso de la solicitud. Por ejemplo, /{stage}/root/child.
$context.protocol Protocolo de la solicitud; por ejemplo, HTTP/1.1.
nota

Las API de API Gateway pueden aceptar solicitudes HTTP/2, pero API Gateway envía solicitudes a las integraciones de backend mediante HTTP/1.1. Como resultado, el protocolo de solicitud se registra como HTTP/1.1 incluso si un cliente envía una solicitud que usa HTTP/2.

$context.requestId

El ID que API Gateway asigna a la solicitud de API.

$context.requestTime Hora de la solicitud en formato CLF-(dd/MMM/yyyy:HH:mm:ss +-hhmm).
$context.requestTimeEpoch Hora de la solicitud en formato Epoch.
$context.responseLatency La latencia de respuesta en ms.
$context.responseLength La duración de la carga de respuesta en bytes.
$context.routeKey

La clave de ruta de la solicitud de la API, por ejemplo, /pets.

$context.stage

La etapa de implementación de la solicitud de la API (por ejemplo, beta o prod).

$context.status El estado de respuesta de método.