As rotas do WebSocket podem ser configuradas para comunicação bidirecional ou unidirecional. O API Gateway não transmitirá a resposta de back-end para a resposta de rota, a menos que você configure uma resposta de rota.
nota
Você só pode definir a resposta de rota $default
para as APIs do WebSocket. É possível usar uma resposta de integração para manipular a resposta de um serviço de back-end. Para ter mais informações, consulte Visão geral das respostas de integração.
É possível configurar respostas de rota e expressões de seleção de resposta usando o console do API Gateway ou a AWS CLI ou um SDK da AWS.
Para obter mais informações sobre expressões de seleção de respostas de rota, consulte Expressões de seleção de resposta de rotas.
Tópicos
Configurar uma resposta de rota usando o console do API Gateway
Depois de criar uma API de WebSocket e anexar uma função proxy do Lambda à rota padrão, você pode configurar a resposta da rota usando o console do API Gateway:
-
Faça login no console do API Gateway e selecione uma API do WebSocket com uma integração de função proxy do Lambda na rota
$default
. -
Em Routes (Rotas), selecione a rota
$default
. -
Selecione Habilitar comunicação bidirecional.
-
Escolha Implantar API.
-
Implante a API em um estágio.
Use o comando wscatwscat
, consulte Use wscat para se conectar a uma API do WebSocket e enviar mensagens a ela.
wscat -c wss://
api-id
.execute-api.us-east-2
.amazonaws.com/test
Pressione o botão enter para chamar a rota padrão. O corpo de sua função do Lambda deve retornar.
Configurar uma resposta de rota usando a AWS CLI
O comando create-route-response a seguir cria uma resposta de rota para a rota $default
. Você pode identificar o ID da API e o ID da rota usando os comandos get-apis e get-routes.
aws apigatewayv2 create-route-response \ --api-id
aabbccddee
\ --route-id1122334
\ --route-response-key '$default'
A saída será exibida da seguinte forma:
{ "RouteResponseId": "abcdef", "RouteResponseKey": "$default" }