

# Começar a usar o console da API REST
<a name="getting-started-rest-new-console"></a>

Neste exercício de conceitos básicos, você cria uma API REST sem servidor usando o console da API REST do API Gateway. As APIs sem servidor permitem que você se concentre nas aplicações, 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, crie uma função do Lambda usando o console do Lambda. Depois, crie uma API REST usando o console da API REST do API Gateway. Depois, crie um método de API e o integre a uma função do Lambda usando uma integração de proxy do Lambda. Por fim, implante e invoque a API.

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

![\[Visão geral da API REST criada neste tutorial.\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/getting-started-overview-rest.png)


Para concluir este exercício, você precisa de uma Conta da AWS e de um usuário do AWS Identity and Access Management (IAM) 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-rest-new-console-create-function)
+ [Etapa 2: criar uma API REST](#getting-started-rest-new-console-create-api)
+ [Etapa 3: criar uma integração de proxy do Lambda](#getting-started-rest-new-console-create-integration)
+ [Etapa 4: implantar a API](#getting-started-rest-new-console-deploy)
+ [Etapa 5: invocar a API](#getting-started-rest-new-console-invoke-api)
+ [Etapa 6 (opcional): limpar](#getting-started-cleanup-rest)

## Etapa 1: Criar uma função do Lambda
<a name="getting-started-rest-new-console-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 exercício, você usa a função Node.js padrão no 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 **Basic information (Informações básicas)**, em **Function name (Nome da função)**, insira **my-function**.

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

1. Selecione **Criar função**.

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('The API Gateway REST API console is great!'),
    };
    return response;
};
```

É possível modificar a função do Lambda para este exercício, desde que a resposta da função esteja alinhada com o [formato que o API Gateway requer](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-output-format).

Substitua o corpo da resposta padrão (`Hello from Lambda!`) por `The API Gateway REST API console is great!`. Quando você invoca a função de exemplo, ela retorna uma resposta `200` aos clientes, bem como a resposta atualizada.

## Etapa 2: criar uma API REST
<a name="getting-started-rest-new-console-create-api"></a>

Em seguida, crie uma API REST com um recurso raiz (`/`).

**Como criar uma API REST**

1. Faça login 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, em **API REST**, escolha **Criar**.
   + Se você criou uma API antes, escolha **Criar API** e, depois, escolha **Criar** para **API REST**.

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

1. (Opcional) Em **Description (Descrição)**, insira uma descrição.

1. Mantenha **Tipo de endpoint de API** definido como **Regional**.

1. Em **Tipo de endereço IP**, selecione **IPv4**.

1. Selecione **Criar API**.

## Etapa 3: criar uma integração de proxy do Lambda
<a name="getting-started-rest-new-console-create-integration"></a>

Em seguida, você cria um método de API para a API REST no recurso raiz (`/`) e integra o método à função do Lambda usando uma integração de proxy. Em uma integração de proxy do Lambda, o API Gateway passa a solicitação de entrada do cliente diretamente para a função do Lambda.

**Como criar uma integração de proxy do Lambda**

1. Selecione o recurso `/` e escolha **Criar método**.

1. Em **Tipo de método**, selecione `ANY`.

1. Em **Tipo de integração**, selecione **Lambda**.

1. Ative **Integração de proxy do Lambda**.

1. Em **Função do Lambda**, insira **my-function** e selecione sua função do Lambda.

1. Escolha **Criar método**.

## Etapa 4: implantar a API
<a name="getting-started-rest-new-console-deploy"></a>

Em seguida, você cria uma implantação de API e a associa a um estágio.

**Para implantar sua API**

1. Escolha **Implantar API**.

1. Em **Estágio**, selecione **Novo estágio**.

1. Em **Stage name (Nome do estágio)**, insira **Prod**.

1. (Opcional) Em **Description (Descrição)**, insira uma descrição.

1. Escolha **Implantar**.

Agora, os clientes podem chamar sua API. Para testar a API antes de implantá-la, você pode, opcionalmente, escolher o método **QUALQUER**, navegar até a guia **Testar** e escolher **Testar**.

## Etapa 5: invocar a API
<a name="getting-started-rest-new-console-invoke-api"></a>

**Como invocar a API**

1. No painel de navegação principal, escolha **Estágio**.

1. Em **Detalhes do estágio**, escolha o ícone de cópia para copiar o URL de invocação da API.  
![\[Após a criação da API REST, o console mostra o URL de chamada da API.\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. Insira o URL de invocação em um navegador da web. 

   O URL deve ser semelhante a `https://abcd123.execute-api.us-east-2.amazonaws.com/Prod`. 

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

1. Verifique a resposta da sua API. Você deve ver o texto `"The API Gateway REST API console is great!"` no seu navegador.

## Etapa 6 (opcional): limpar
<a name="getting-started-cleanup-rest"></a>

Para evitar acumular custos desnecessários para sua Conta da AWS, exclua os recursos que você criou como parte deste exercício. As etapas a seguir excluem a API REST, a função do Lambda e recursos associados.

**Como excluir a API REST**

1. No painel **Recursos**, escolha **Ações de API**, **Excluir API**.

1. Na caixa de diálogo **Excluir API**, insira **confirmar** e **Excluir**.

**Como 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 **Funções**, selecione a função. Selecione **Ações**, **Excluir**.

1. Na caixa de diálogo **Excluir 1 funções**, insira **delete** e selecione **Excluir**.

**Como excluir um grupo de logs da função do Lambda**

1. Abra a [página Log groups](https://console.aws.amazon.com/cloudwatch/home#logs:) (Grupos de log) do console do Amazon CloudWatch.

1. Na página **Grupos de logs**, selecione o grupo de logs da função (`/aws/lambda/my-function`). Em **Ações**, escolha **Excluir grupo(s) de logs**.

1. Na caixa de diálogo **Delete log group(s)** (Excluir grupo(s) de logs), escolha **Delete** (Excluir).

**Para excluir o perfil de execução de uma função do Lambda**

1. Abra a página [Funções](https://console.aws.amazon.com/iam/home?#/roles) no console do IAM.

1. (Opcional) Na página **Perfis**, na caixa de pesquisa, insira **my-function**.

1. Selecione o perfil da função (por exemplo, `my-function-31exxmpl`) e escolha **Excluir**.

1. Na caixa de diálogo **Excluir `my-function-31exxmpl`?**, insira o nome do perfil e selecione **Excluir**.

**dica**  
Você pode automatizar a criação e a limpeza dos recursos da AWS usando o AWS CloudFormation ou o AWS Serverless Application Model (AWS SAM). Para ver alguns exemplos de modelos do CloudFormation, consulte os [exemplos de modelo para o API Gateway](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates) no repositório **awsdocs** do GitHub.