

# Começar a usar o API Gateway
<a name="getting-started"></a>

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](https://aws.amazon.com/free/).

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](getting-started-rest-new-console.md).  
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](http-api-vs-rest.md).

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 API HTTP que você cria neste tutorial.\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/getting-started-overview.png)


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](setting-up.md).

**Topics**
+ [Etapa 1: Criar uma função do Lambda](#getting-started-create-function)
+ [Etapa 2: criar uma API HTTP](#getting-started-create-api)
+ [Etapa 3: testar sua API](#getting-started-invoke-api)
+ [(Opcional) Etapa 4: Limpar](#getting-started-cleanup)
+ [Próximas etapas](#getting-started-next-steps)

## Etapa 1: Criar uma função do Lambda
<a name="getting-started-create-function"></a>

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](https://console.aws.amazon.com/lambda)

1. Escolha **Create function** (Criar função).

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

1. Em todas as outras opções, use a configuração padrão.

1. 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](http-api-develop-integrations-lambda.md#http-api-develop-integrations-lambda.response).

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
<a name="getting-started-create-api"></a>

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](https://console.aws.amazon.com/apigateway).

1. 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**.

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

1. Escolha **Lambda**.

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

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

1. Escolha **Next (Próximo)**.

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

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

1. 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
<a name="getting-started-invoke-api"></a>

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](https://console.aws.amazon.com/apigateway).

1. Selecione a API.

1. Observe o URL de invocação da sua API.  
![\[Depois de criar a API, o console mostra o URL de chamada da API.\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/getting-started-invoke-url.png)

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

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

## (Opcional) Etapa 4: Limpar
<a name="getting-started-cleanup"></a>

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](https://console.aws.amazon.com/apigateway).

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

1. Escolha **Delete** (Excluir).

**Para excluir uma função do Lambda**

1. Abra o console do Lambda em [https://console.aws.amazon.com/lambda](https://console.aws.amazon.com/lambda)

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

1. 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](https://console.aws.amazon.com/cloudwatch/home#logs:) (Grupos de log).

1. 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).

1. 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](https://console.aws.amazon.com/iam/home?#/roles) (Funções).

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

1. Selecione **Delete role (Excluir função)**.

1. Escolha **Sim, excluir**.

Você pode automatizar a criação e a limpeza dos recursos da AWS usando o CloudFormation ou o AWS SAM. Para ver modelos de exemplo do CloudFormation, consulte [modelos de exemplo do CloudFormation](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates).

## Próximas etapas
<a name="getting-started-next-steps"></a>

Neste exemplo, você usou o Console de gerenciamento da AWS 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.
+ [Configurar tipos adicionais de integrações de API,](http-api-develop-integrations.md) incluindo:
  + [Endpoints de HTTP](http-api-develop-integrations-http.md)
  + [Recursos privados em uma VPC, como serviços do Amazon ECS](http-api-develop-integrations-private.md)
  + Serviços da[AWS, como o Amazon Simple Queue Service e o Kinesis Data Streams AWS Step Functions](http-api-develop-integrations-aws-services.md)
+ [Controlar acesso às suas APIs](http-api-access-control.md)
+ [Habilitar registro para suas APIs](http-api-logging.md)
+ [Configurar o controle de utilização de suas APIs](http-api-throttling.md)
+ [Configurar domínios personalizados de suas APIs](http-api-custom-domain-names.md)

Para obter ajuda com o Amazon API Gateway da comunidade, consulte o [Fórum de discussão do API Gateway](https://repost.aws/tags/TAx94GNHn2R3Ot5Ab_HCvlng). 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](https://aws.amazon.com/premiumsupport/).

Consulte também nossas [Perguntas frequentes](https://aws.amazon.com/api-gateway/faqs/) (FAQs) ou [entre em contato conosco diretamente](https://aws.amazon.com/contact-us/).