Configuración de asignación de datos para las API de WebSocket
La asignación de datos le permite asignar datos de una solicitud de ruta a una integración del backend.
nota
El mapeo de datos para las API de WebSocket no se admite en AWS Management Console. Debe utilizar la AWS CLI, AWS CloudFormation o un SDK para configurar la asignación de datos.
Asignar datos de solicitud de ruta a parámetros de solicitud de integración
Los parámetros de solicitud de integración se pueden asignar desde cualquier parámetro de solicitud de ruta definido, el cuerpo de la solicitud, variables context o stage y valores estáticos.
En la tabla siguiente,
es el nombre de un parámetro de solicitud de ruta del tipo de parámetro especificado. Debe coincidir con la expresión regular PARAM_NAME
'^[a-zA-Z0-9._$-]+$]'
. JSONPath_expression
es una expresión JSONPath para un campo JSON del cuerpo de la solicitud.
Expresiones de asignación de datos de solicitud de integración | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Origen de datos asignado | Expresión de asignación | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cadena de consulta de solicitud (compatible solo con la ruta $connect ) |
route.request.querystring. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Encabezado de solicitud (compatible solo con la ruta $connect ) |
route.request.header. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cadena de consulta de solicitud de varios valores (compatible solo con la ruta $connect ) |
route.request.multivaluequerystring. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Encabezado de solicitud de varios valores (solo compatible con la ruta $connect ) |
route.request.multivalueheader. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cuerpo de la solicitud | route.request.body. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variables de etapa | stageVariables. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variables de contexto | context. que debe ser alguna de las variables de contexto admitidas. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Valor estático | . STATIC_VALUE es un literal de cadena que se debe incluir entre comillas simples. |
Ejemplos
En los siguientes ejemplos de la AWS CLI se configuran asignaciones de datos. Para obtener una plantilla de AWS CloudFormation, consulte websocket-data-mapping.yaml
.
Asignar el connectionId de un cliente a un encabezado en una solicitud de integración
El siguiente ejemplo de comando asigna el connectionId
de un cliente al encabezado connectionId
en la solicitud a una integración del backend.
aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.connectionId'='context.connectionId'
Asignar un parámetro de cadena de consulta a un encabezado en una solicitud de integración
Los siguientes ejemplos de comandos asignan un parámetro de cadena de consulta authToken
a un encabezado authToken
en la solicitud de integración.
Primero, agregue el parámetro de cadena de consulta authToken
en los parámetros de solicitud de la ruta.
aws apigatewayv2 update-route --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameters '{"route.request.querystring.authToken": {"Required": false}}'
A continuación, asigne el parámetro de cadena de consulta al encabezado authToken
en la solicitud a la integración del backend.
aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.authToken'='route.request.querystring.authToken'
Si es necesario, elimine el parámetro de cadena de consulta authToken
de los parámetros de solicitud de la ruta.
aws apigatewayv2 delete-route-request-parameter \ --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameter-key 'route.request.querystring.authToken'