As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Integre o Amazon API Gateway com o Amazon SQS para lidar com REST assíncrono APIs
Natalia Colantonio Favero e Gustavo Martim, Amazon Web Services
Resumo
Quando você implanta o REST APIs, às vezes você precisa expor uma fila de mensagens que os aplicativos cliente possam publicar. Por exemplo, você pode ter problemas com a latência de terceiros APIs e atrasos nas respostas, ou talvez queira evitar o tempo de resposta das consultas ao banco de dados ou evitar escalar o servidor quando há um grande número de consultas simultâneas. APIs Nesses cenários, as aplicações clientes que publicam dados para a fila só precisam ter ciência de que a API os recebeu, sem precisar saber o que ocorre após o recebimento.
Esse padrão cria um endpoint da API REST usando o Amazon API Gateway
Pré-requisitos e limitações
Uma AWS conta ativa
Arquitetura

O diagrama ilustra estas etapas:
Uma solicitação é enviada a um endpoint da API REST via POST usando uma ferramenta como Postman, outra API ou outras tecnologias.
O API Gateway publica uma mensagem na fila, que é recebida no corpo da solicitação.
O Amazon SQS recebe a mensagem e envia uma resposta ao API Gateway com um código de êxito ou de falha.
Ferramentas
O Amazon API Gateway ajuda você a criar, publicar, manter, monitorar e proteger REST, HTTP e WebSocket APIs em qualquer escala.
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
O Amazon Simple Queue Service (Amazon SQS) fornece uma fila hospedada segura, durável e disponível que ajuda a integrar e desacoplar sistemas e componentes de software distribuídos.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Crie sua fila. | Para criar uma fila do SQS que receba as mensagens provenientes da API REST:
| Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Criar um perfil do IAM. | Este perfil do IAM concede aos recursos do API Gateway acesso total ao Amazon SQS.
| Desenvolvedor de aplicações e administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Crie uma API REST. | Esta é a API REST à qual as solicitações HTTP são enviadas.
| Desenvolvedor de aplicativos |
Estabeleça a conexão entre o API Gateway e o Amazon SQS. | Essa etapa habilita o fluxo da mensagem do conteúdo do corpo da solicitação HTTP para o Amazon SQS.
| Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Teste a API REST. | Faça um teste para identificar configurações que estejam ausentes:
| Desenvolvedor de aplicativos |
Altere a integração da API para encaminhar a solicitação corretamente para o Amazon SQS. | Conclua a configuração para corrigir o erro de integração:
| Desenvolvedor de aplicativos |
Realize o teste e a validação da mensagem no Amazon SQS. | Execute um teste para confirmar que a execução do teste obteve êxito:
| Desenvolvedor de aplicativos |
Teste o API Gateway usando um caractere especial. | Execute um teste que inclua caracteres especiais (como &) que não são aceitos em uma mensagem:
Isso ocorre porque, por padrão, caracteres especiais não são suportados no corpo da mensagem. Na próxima etapa, você configurará o API Gateway para fornecer suporte a caracteres especiais. Para obter mais informações sobre conversões de tipo de conteúdo, consulte a documentação do API Gateway. | Desenvolvedor de aplicativos |
Altere a configuração da API para fornecer suporte a caracteres especiais. | Ajuste a configuração para aceitar caracteres especiais na mensagem:
A nova mensagem deverá incluir o caractere especial. | Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Implantar a API. |
Para implantar a API REST:
| Desenvolvedor de aplicativos |
Realize o teste usando uma ferramenta externa. | Execute um teste com uma ferramenta externa para confirmar que a mensagem foi recebida com êxito:
| Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Exclua a API. | No console do API Gateway | Desenvolvedor de aplicativos |
Exclua o perfil do IAM. | No console do IAM | Desenvolvedor de aplicativos |
Exclua a fila do SQS. | No console do Amazon SQS | Desenvolvedor de aplicativos |
Recursos relacionados
SQS- SendMessage (documentação do API Gateway)
Conversões de tipo de conteúdo no API Gateway (documentação do API Gateway)
Variáveis de utilidade (documentação do API Gateway)
Como faço para integrar uma API REST do API Gateway com o Amazon SQS e resolver erros comuns?
(AWS Re:postar artigo)