Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Visão geral das APIs de WebSocket no API Gateway

Modo de foco
Visão geral das APIs de WebSocket no API Gateway - Amazon API Gateway

No API Gateway, é possível criar uma API WebSocket como um frontend com estado para um serviço da AWS (como Lambda ou DynamoDB) ou para um endpoint HTTP. A API WebSocket invoca o backend com base no conteúdo de mensagens que recebe a partir de aplicativos do cliente.

Ao contrário de uma API REST, que recebe e responde a solicitações, uma API WebSocket oferece suporte a comunicações bidirecionais entre aplicativos do cliente e backend. O backend pode enviar mensagens de retorno para clientes conectados.

Na sua API WebSocket, mensagens JSON de entrada são direcionadas para integrações de backend com base nas rotas que você configurar. (Mensagens que não apresentam o formato JSON são direcionadas para a rota $default que você configurar).

Uma rota inclui uma chave de roteamento, que é o valor esperado quando uma expressão de seleção de rotas é avaliada. O routeSelectionExpression é um atributo definido em nível de API. Ele especifica uma propriedade JSON que deve estar presente na carga da mensagem. Para obter mais informações sobre expressões de seleção de rota, consulte Expressões de seleção de rota.

Por exemplo, se as suas mensagens JSON contêm uma propriedade action e você deseja realizar ações diferentes de acordo com essa propriedade, sua expressão de seleção de rotas pode ser ${request.body.action}. A tabela de roteamento deve especificar qual ação executar ao corresponder o valor da propriedade action com os valores de chave de rotas personalizada que você definiu na tabela.

Usar rotas para uma API de WebSocket

Há três rotas predefinidas que podem ser usadas: $connect, $disconnect e $default. Além disso, você pode criar rotas personalizadas.

  • O API Gateway chama a rota $connect quando uma conexão persistente entre o cliente e uma API WebSocket está sendo iniciada.

  • O API Gateway chama a rota $disconnect quando o cliente ou o servidor é desconectado da API.

  • O API Gateway chama uma rota personalizada após a avaliação da expressão de seleção de rotas personalizada em relação à mensagem caso uma rota correspondente seja encontrada; a correspondência determina qual integração é invocada.

  • O API Gateway chamará a rota $default se a expressão de seleção de rotas não puder ser avaliada em relação à mensagem ou se nenhuma rota correspondente for encontrada.

Para obter mais informações sobre as rotas $connect e $disconnect, consulte Gerenciar usuários conectados e aplicações clientes: rotas $connect e $disconnect.

Para obter mais informações sobre a rota $default e rotas personalizadas, consulte Invocar sua integração de backend com o $default Route e rotas personalizadas no API Gateway.

Enviar dados a aplicações de cliente conectadas

Os serviços de backend podem enviar dados para aplicativos conectados do cliente. É possível enviar dados fazendo o seguinte:

  • Use uma integração para enviar uma resposta, que é exibida ao cliente por uma resposta de rota que você tiver definido.

  • Você pode usar a API @connections para enviar uma solicitação POST: Para ter mais informações, consulte Usar os comandos @connections em seu serviço de backend.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.