Configuración de respuestas de ruta para una API de WebSocket en API Gateway - Amazon API Gateway

Configuración de respuestas de ruta para una API de WebSocket en API Gateway

Las rutas de WebSocket se pueden configurar para la comunicación unidireccional o bidireccional. API Gateway no pasará la respuesta del backend a través de la respuesta de la ruta, a menos configure una respuesta de ruta.

nota

Solo puede definir la respuesta de la ruta $default para las API de WebSocket. Puede utilizar una respuesta de integración para manipular la respuesta de un servicio de backend. Para obtener más información, consulte Información general sobre las respuestas de integración.

Puede configurar respuestas de ruta y expresiones de selección de respuestas mediante la consola de API Gateway o la AWS CLI o un AWS SDK.

Para obtener más información sobre las expresiones de selección de respuesta de ruta, consulte Expresiones de selección de respuesta de ruta.

Configurar una respuesta de ruta mediante la consola de API Gateway

Tras crear una API de WebSocket y asociar una función de Lambda proxy a la ruta predeterminada, puede configurar la respuesta de la ruta mediante la consola de API Gateway:

  1. Inicie sesión en la consola de API Gateway y elija una API de WebSocket con una integración de función de Lambda de proxy en la ruta $default.

  2. En Routes (Rutas), elija la ruta $default.

  3. Elija Habilitar la comunicación bidireccional.

  4. Elija Deploy API (Implementar API).

  5. Implemente su API en una etapa.

Use el siguiente comando wscat para conectarse a la API. Para obtener más información acerca de wscat, consulte Utilice wscat para conectarse y enviar mensajes a una API de WebSocket.

wscat -c wss://api-id.execute-api.us-east-2.amazonaws.com/test

Pulse el botón Enter para llamar a la ruta predeterminada. El cuerpo de la función de Lambda debería regresar.

Configuración de una respuesta de ruta con la AWS CLI

Para configurar una ruta respuesta para un WebSocket API mediante la AWS CLI, llame al comando create-route-response, tal y como se muestra en el siguiente ejemplo. Puede identificar el ID de la API y el ID de ruta llamando a get-apis y get-routes.

aws apigatewayv2 create-route-response \ --api-id aabbccddee \ --route-id 1122334 \ --route-response-key '$default'

Ejemplo de resultados:

{ "RouteResponseId": "abcdef", "RouteResponseKey": "$default" }