Conceitos básicos do API Gateway - Amazon API Gateway

Conceitos básicos do API Gateway

nota

A nova experiência do console do API Gateway já está disponível. Para ver um tutorial sobre como usar o console para criar uma API REST, consulte Conceitos básicos do console da API REST.

Neste exercício de conceitos básicos, você cria uma API sem servidor. As APIs sem servidor permitem que você se concentre em seus aplicativos, em vez de gastar tempo provisionando e gerenciando servidores. Este exercício leva menos de 20 minutos para ser concluído e é possível dentro do nível gratuito da AWS.

Primeiro, você cria uma função do Lambda usando o console do AWS Lambda. Em seguida, crie uma API HTTP usando o console do API Gateway. Em seguida, você invoca sua API.

nota

Para simplificar, este exercício usa uma API HTTP. O API Gateway também oferece suporte a APIs REST, que incluem mais recursos. Para saber mais, consulte Escolher entre APIs HTTP e REST.

Quando você invoca sua API HTTP, o API Gateway encaminha a solicitação para sua função do Lambda. O Lambda executa a função do Lambda e retorna uma resposta ao API Gateway. O API Gateway retorna uma resposta para você.


      Visão geral da arquitetura da API criada neste guia de conceitos básicos. Os clientes usam uma API HTTP do API Gateway para invocar uma função do Lambda. O API Gateway retorna a resposta da função do Lambda aos clientes.

Para concluir esse exercício, você precisa de uma conta da AWS e de um usuário do AWS Identity and Access Management com acesso ao console. Para obter mais informações, consulte Pré-requisitos para começar a usar o API Gateway.

Etapa 1: Criar uma função do Lambda

Você usa uma função do Lambda para o backend da sua API. O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia a milhares por segundo.

Para este exemplo, você usa a função Node.js padrão do console do Lambda.

Como criar uma função do Lambda
  1. Abra o console do Lambda em https://console.aws.amazon.com/lambda

  2. Escolha Create function (Criar função).

  3. Em Function name (Nome da função), insira my-function.

  4. Escolha Create function (Criar função).

A função de exemplo retorna uma 200 resposta aos clientes e ao texto Hello from Lambda!.

Você pode modificar sua função do Lambda, desde que a resposta da função esteja alinhada com o formato que o API Gateway requer.

O código de função padrão do Lambda deve ser semelhante ao seguinte:

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };

Etapa 2: criar uma API HTTP

Em seguida, você cria uma API HTTP. O API Gateway também suporta APIs REST e APIs WebSocket, mas uma API HTTP é a melhor escolha para este exercício. As APIs REST oferecem suporte a mais recursos do que as APIs HTTP, mas não precisamos desses recursos para este exercício. As APIs HTTP são projetadas com recursos mínimos para que possam ser oferecidas por um preço mais baixo. As APIs do WebSocket mantêm conexões persistentes com clientes para comunicação full-duplex, o que não é necessário para este exemplo.

A API HTTP fornece um endpoint de HTTP para sua função do Lambda. O API Gateway encaminha solicitações para sua função do Lambda e, em seguida, retorna a resposta da função aos clientes.

Para criar uma API HTTP
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Execute um destes procedimentos:

    • Para criar sua primeira API, para API HTTP, escolha Build (Criar).

    • Se você criou uma API antes, escolha Create API(Criar API) e, em seguida, escolha Build (Criar) para API HTTP.

  3. Para Integrations (Integrações), escolha Add integration (Adicionar integração).

  4. Escolha Lambda.

  5. Em Lambda function (Função do Lambda), insira my-function.

  6. Em API name (Nome da API), insira my-http-api.

  7. Escolha Next (Próximo).

  8. Revise a rota que o API Gateway cria para você e escolha Next (Avançar).

  9. Revise o estágio criado pelo API Gateway para você e escolha Next (Avançar).

  10. Escolha Create (Criar).

Agora você criou uma API HTTP com uma integração do Lambda que está pronta para receber solicitações de clientes.

Etapa 3: testar sua API

Em seguida, você testa sua API para se certificar de que ela está funcionando. Para simplificar, use um navegador da Web para invocar sua API.

Para testar sua API
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Selecione a API.

  3. Observe o URL de invocação da sua API.

    
            Depois de criar a API, o console mostra o URL de chamada da API.
  4. Copie o URL de invocação da sua API e insira-o em um navegador da Web. Anexe o nome da sua função do Lambda ao URL de chamada para chamar sua função do Lambda. Por padrão, o console do API Gateway cria uma rota com o mesmo nome da função do Lambda, my-function.

    O URL deve ser semelhante a https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function.

    Seu navegador envia uma solicitação GET à API.

  5. Verifique a resposta da sua API. Você deve ver o texto "Hello from Lambda!" no seu navegador.

(Opcional) Etapa 4: Limpar

Para evitar custos desnecessários, exclua os recursos que você criou como parte desse exercício de conceitos básicos. As etapas a seguir excluem sua API HTTP, sua função do Lambda e recursos associados.

Para excluir uma API HTTP
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Na página APIs , selecione uma API. Escolha Actions (Ações) e, depois, escolha Delete (Excluir).

  3. Escolha Delete (Excluir).

Para excluir uma função do Lambda
  1. Abra o console do Lambda em https://console.aws.amazon.com/lambda

  2. Na página Functions(Funções), selecione uma função. Escolha Actions (Ações) e, depois, escolha Delete (Excluir).

  3. Escolha Delete (Excluir).

Para excluir um grupo de logs de uma função do Lambda
  1. No console do Amazon CloudWatch, abra a página Log groups (Grupos de log).

  2. Na página Log groups (Grupos de log), selecione o grupo de log da função (/aws/lambda/my-function). Escolha Actions (Ações) e selecione Delete log group (Excluir grupo de log).

  3. Escolha Delete (Excluir).

Para excluir a função de execução de uma função do Lambda
  1. No console do AWS Identity and Access Management, abra a página Roles (Funções).

  2. Selecione a atribuição da função, por exemplo, my-function-31exxmpl.

  3. Selecione Delete role (Excluir função).

  4. Escolha Sim, excluir.

Você pode automatizar a criação e a limpeza dos recursos da AWS usando o AWS CloudFormation ou o AWS SAM. Para ver modelos de exemplo do AWS CloudFormation, consulte modelos de exemplo do AWS CloudFormation.

Próximas etapas

Neste exemplo, você usou o AWS Management Console para criar uma API HTTP simples. A API HTTP invoca uma função do Lambda e retorna uma resposta aos clientes.

A seguir estão as próximas etapas à medida que você continua trabalhando com o API Gateway.

Para obter ajuda com o Amazon API Gateway da comunidade, consulte o Fórum de discussão do API Gateway. Ao entrar neste fórum, a AWS pode exigir que você faça login.

Para obter para o API Gateway diretamente da AWS, consulte as opções de suporte na página Suporte da AWS.

Consulte também nossas Perguntas frequentes (FAQs) ou entre em contato conosco diretamente.