Começar a usar o API Gateway
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
Este exercício usa uma API HTTP. O API Gateway também oferece suporte a APIs REST, que incluem mais recursos. Para ver um tutorial que usa uma API REST, consulte Começar a usar o console da API REST.
Para obter mais informações sobre a diferença entre as APIs HTTP e as APIs REST, consulte Escolher entre APIs REST e APIs HTTP.
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ê.
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 Configurar para usar o API Gateway.
Tópicos
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
Abra o console do Lambda em https://console.aws.amazon.com/lambda
-
Escolha Create function (Criar função).
-
Em Function name (Nome da função), insira
my-function
. Em todas as outras opções, use a configuração padrão.
-
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
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
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.
-
-
Para Integrations (Integrações), escolha Add integration (Adicionar integração).
-
Escolha Lambda.
-
Em Lambda function (Função do Lambda), insira
my-function
. -
Em API name (Nome da API), insira
my-http-api
. -
Escolha Next (Próximo).
-
Revise a rota que o API Gateway cria para você e escolha Next (Avançar).
-
Revise o estágio criado pelo API Gateway para você e escolha Next (Avançar).
-
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
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. Selecione a API.
-
Observe o URL de invocação da sua API.
-
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. -
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
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Na página APIs , selecione uma API. Escolha Actions (Ações) e, depois, escolha Delete (Excluir).
-
Escolha Delete (Excluir).
Para excluir uma função do Lambda
Abra o console do Lambda em https://console.aws.amazon.com/lambda
-
Na página Functions(Funções), selecione uma função. Escolha Actions (Ações) e, depois, escolha Delete (Excluir).
-
Escolha Delete (Excluir).
Para excluir um grupo de logs de uma função do Lambda
-
No console do Amazon CloudWatch, abra a página Log groups
(Grupos de log). -
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). -
Escolha Delete (Excluir).
Para excluir a função de execução de uma função do Lambda
-
No console do AWS Identity and Access Management, abra a página Roles
(Funções). -
Selecione a atribuição da função, por exemplo,
my-function-
.31exxmpl
-
Selecione Delete role (Excluir função).
-
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
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