Casos de uso do API Gateway - Amazon API Gateway

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á.

Casos de uso do API Gateway

Usar o API Gateway para criar APIs REST

Uma API REST do API Gateway é composta por recursos e métodos. Um recurso é uma entidade lógica que um aplicativo pode acessar através de um caminho de recurso. Um método corresponde a uma solicitação de API REST enviada pelo usuário de sua API e a resposta retornada ao usuário.

Por exemplo, /incomes pode ser o caminho de um recurso que representa a renda do usuário do aplicativo. Um recurso pode ter uma ou mais operações que são definidas por verbos HTTP adequados, como GET, POST, PUT, PATCH e DELETE. Uma combinação de um caminho de recurso e uma operação identifica um método da API. Por exemplo, um método POST /incomes pode adicionar uma renda obtida pelo autor da chamada, e um método GET /expenses pode consultar as despesas relatadas incorridas pelo autor da chamada.

O aplicativo não precisa saber onde os dados solicitados estão armazenados e de onde são obtidos no backend. Nas APIs REST do API Gateway, o front-end é encapsulado por solicitações de método e respostas do método. A API faz interface com o backend usando as solicitações de integração e respostas de integração.

Por exemplo, com o DynamoDB como o backend, o desenvolvedor de APIs configura a solicitação de integração para encaminhar a solicitação do método de entrada para o backend escolhido. A configuração inclui especificações de uma ação adequada do DynamoDB, a função e as políticas do IAM necessárias e os dados de entrada necessários. O backend retorna o resultado para o API Gateway como uma resposta da integração.

Para rotear a resposta da integração para uma resposta de método adequada (de um determinado código de status HTTP) para o cliente, você pode configurar a resposta da integração para mapear os parâmetros de resposta necessários da integração para o método. Em seguida, você converte o formato dos dados de saída do backend para o formato do front-end, se necessário. O API Gateway permite que você defina um esquema ou um modelo para a carga a fim de facilitar a configuração do modelo de mapeamento do corpo.

O API Gateway fornece a funcionalidade de gerenciamento da API REST da seguinte forma:

  • Suporte para gerar SDKs e criar a documentação da API usando extensões do API Gateway para OpenAPI

  • Limitação de solicitações HTTP

Usar o API Gateway para criar APIs HTTP

As APIs HTTP permitem criar APIs RESTful com menor latência e menor custo que as APIs REST.

Você pode usar APIs HTTP para enviar solicitações para funções do AWS Lambda ou para qualquer endpoint HTTP roteável.

Por exemplo, você pode criar uma API HTTP que se integre a uma função do Lambda no backend. Quando um cliente chama sua API, o API Gateway envia a solicitação para a função do Lambda e retorna a resposta da função para o cliente.

APIs HTTP são compatíveis com as autorizações OpenID Connect e OAuth 2.0. Eles são fornecidos com suporte incorporado para compartilhamento de recursos de origem cruzada (CORS) e implantações automáticas.

Para saber mais, consulte Escolher entre APIs HTTP e REST.

Usar o API Gateway para criar APIs do WebSocket

Em uma API WebSocket, o cliente e o servidor podem trocar mensagens entre si a qualquer momento. Os servidores de backend podem enviar dados para usuários e dispositivos conectados com facilidade, o que evita a necessidade de implementar mecanismos complexos de sondagem.

Por exemplo, é possível criar uma aplicação sem servidor usando uma API WebSocket do API Gateway e do AWS Lambda para enviar e receber mensagens de e para usuários individuais ou grupos de usuários em uma sala de conversa. Você também pode invocar serviços de backend como o AWS Lambda, o Amazon Kinesis ou um endpoint HTTP com base no conteúdo da mensagem.

É possível usar as APIs WebSocket do API Gateway para criar aplicações de comunicação segura e em tempo real sem a necessidade de provisionar ou gerenciar os servidores para administrar conexões ou intercâmbios de dados em grande escala. Casos de uso direcionados incluem aplicativos em tempo real, como:

  • Aplicativos de bate-papo

  • Painéis em tempo real, como cotações de ações

  • Alertas e notificações em tempo real

O API Gateway fornece a funcionalidade de gerenciamento de API WebSocket, como:

  • Monitoramento e limitações de conexões e mensagens

  • Uso do AWS X-Ray para rastrear mensagens à medida que são transferidas por meio de APIs para serviços de backend

  • Fácil integração com endpoints HTTP/HTTPS

Quem usa o API Gateway?

Há dois tipos de desenvolvedores que usam o API Gateway: desenvolvedores de APIs e desenvolvedores de aplicações.

Um desenvolvedor de APIs cria e implanta uma API para habilitar a funcionalidade necessária no API Gateway. O desenvolvedor de APIs deve ser um usuário na conta da AWS que é a proprietária da API.

Um desenvolvedor de aplicações cria uma aplicação funcional para chamar serviços da AWS ao invocar uma API WebSocket ou REST criada por um desenvolvedor de APIs no API Gateway.

O desenvolvedor de aplicativos é o cliente do desenvolvedor de APIs. O desenvolvedor de aplicações não precisa ter uma conta da AWS, desde que a API não exija permissões do IAM nem ofereça suporte à autorização de usuários por meio de provedores de identidade federada de terceiros compatíveis com a Federação de identidades do grupo de usuários do Amazon Cognito. Esses provedores de identidade incluem a Amazon, o grupo de usuários do Amazon Cognito, o Facebook e o Google.

Criar e gerenciar uma API do API Gateway

Um desenvolvedor de APIs trabalha com o componente de serviço do API Gateway para gerenciamento de APIs, denominado apigateway, para criar, configurar e implantar uma API.

Como desenvolvedor de APIs, é possível criar e gerenciar uma API usando o console do API Gateway, descrito em Conceitos básicos do API Gateway ou chamando Referências de API. Há várias maneiras de chamar essa API. Elas incluem o uso da AWS Command Line Interface (AWS CLI) ou de um AWS SDK. Além disso, você pode habilitar a criação de API com modelos AWS CloudFormation ou (no caso de APIs REST e APIs HTTP) Trabalhar com extensões o API Gateway para o OpenAPI.

Para obter uma lista de regiões em que o API Gateway está disponível, bem como os endpoints de serviço de controle associados, consulte Endpoints e cotas do Amazon API Gateway.

Chamar uma API do API Gateway

Um desenvolvedor de aplicativos trabalha com o componente de serviço do API Gateway para execução da API, denominado execute-api, para invocar uma API criada ou implantada no API Gateway. As entidades de programação subjacentes são expostas pela API criada. Há várias maneiras de chamar esse tipo de API. Para saber mais, consulte Chamar uma API REST no Amazon API Gateway e Chamar uma API WebSocket.