

# Criar uma implantação para uma API REST no API Gateway
<a name="set-up-deployments"></a>

 No API Gateway, uma implantação de API REST é representada por um recurso [Deployment](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html). Ele é semelhante a um executável de uma API que é representada por um recurso [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html). 

Para o cliente chamar a API, você deve criar uma implantação e associar um estágio a ela. Um estágio é representado por um recurso [Stage](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html). Ele representa um snapshot da API, incluindo métodos, integrações, modelos, modelos de mapeamento e autorizadores do Lambda (anteriormente conhecidos como autorizadores personalizados). Quando você atualiza a API, pode reimplantá-la associando um novo estágio à implantação existente. Discutimos a criação de um estágio em [Configurar um estágio para uma API REST no API Gateway](set-up-stages.md).

**Topics**
+ [Crie um implantação do .](#create-deployment)
+ [Próximas etapas para sua implantação de API](#apigateway-deployment-next-steps)

## Crie um implantação do .
<a name="create-deployment"></a>

Os procedimentos a seguir mostram como criar uma implantação para uma API REST.

------
#### [ Console de gerenciamento da AWS ]

 Você deve ter criado uma API REST antes de implantá-la pela primeira vez. Para ter mais informações, consulte [Desenvolver APIs REST no API Gateway](rest-api-develop.md). 

 O console do API Gateway permite que você implante uma API criando uma implantação e associando-a a um estágio novo ou existente. 

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1.  No painel de navegação **APIs**, escolha a API que você deseja implantar. 

1. No painel **Resources** (Recursos), escolha **Deploy API** (Implantar API).

1. Em **Estágio**, selecione uma das seguintes opções:

   1. Para criar um estágio, selecione **Novo estágio** e insira um nome em **Nome do estágio**. Opcionalmente, você pode fornecer uma descrição para a implantação em **Descrição da implantação**.

   1. Para escolher um estágio existente, selecione o nome dele no menu suspenso. É aconselhável fornecer uma descrição para a nova implantação em **Descrição da implantação**.

   1. Para criar uma implantação que não esteja associada a um estágio, selecione **Sem estágio**. Posteriormente, você poderá associar essa implantação a um estágio.

1. Escolha **Implantar**.

------
#### [ AWS CLI ]

Ao criar uma implantação, você instancia o recurso [Deployment](https://docs.aws.amazon.com/apigateway/latest/api/API_Deployment.html).

O comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) indicado abaixo cria uma implantação:

```
 aws apigateway create-deployment --rest-api-id rest-api-id
```

A API não poderá ser chamada enquanto essa implantação não for associada a um estágio. Com um estágio existente, você pode fazer isso atualizando a propriedade [deploymentId](https://docs.aws.amazon.com/apigateway/latest/api/API_Stage.html#deploymentId) do estágio com o ID de implantação recém-criado. O comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) indicado abaixo atualiza o estágio com uma nova implantação: No console, isso é chamado de **Implantação ativa**.

```
 aws apigateway update-stage \
    --rest-api-id rest-api-id \ 
    --stage-name 'stage-name' \ 
    --patch-operations op='replace',path='/deploymentId',value='deployment-id'
```

Ao criar uma implantação, você também pode associá-la simultaneamente a um novo estágio. O comando [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) indicado abaixo cria uma implantação e a associa a um novo estágio chamado `beta`:

```
 aws apigateway create-deployment \
    --rest-api-id rest-api-id \
    --stage-name beta
```

------

Para reimplantar uma API, execute as mesmas etapas. Você pode reutilizar o mesmo estágio.

## Próximas etapas para sua implantação de API
<a name="apigateway-deployment-next-steps"></a>

Veja a seguir as próximas etapas para a implantação da sua API.

Modificar as configurações de armazenamento  
Depois que uma API é implantada, é possível modificar as configurações de estágio para habilitar ou desabilitar o cache, o registro em log ou a limitação de solicitações dessa API. Você também pode escolher um certificado de cliente para o backend autenticar o API Gateway e definir variáveis de estágio para transmitir o contexto de implantação para a integração da API em tempo de execução. Para ter mais informações, consulte [Modifique as configurações de armazenamento.](set-up-stages.md#how-to-stage-settings).  
Depois de modificar as configurações do estágio, você deve reimplantar a API para que as alterações entrem em vigor.  
 Se as configurações atualizadas, como a habilitação de registro em log, exigirem uma nova função do IAM, você poderá adicionar a função do IAM necessária sem reimplantar a API. No entanto, pode demorar alguns minutos para o novo perfil do IAM entrar em vigor. Antes que isso aconteça, os rastreamentos das suas chamadas de API não são registrados em log, mesmo que você tenha habilitado a opção de registro em log. 

Escolher diferentes combinações de estágios de implantação  
 Como uma implantação representa um snapshot de API e um estágio define um caminho em um snapshot, você pode escolher diferentes combinações de estágio de implantação para controlar como os usuários invocam diferentes versões da API. Isso é útil, por exemplo, quando você deseja reverter o estado da API para uma implantação anterior ou mesclar uma "ramificação particular" da API na ramificação pública.   
 O procedimento a seguir mostra como fazer isso usando o **Stage Editor (Editor de estágio)** no console do API Gateway. Supõe-se que você tenha implantado uma API mais de uma vez.   

1. Se você ainda não estiver no painel **Estágios**, no painel de navegação principal, escolha **Estágios**.

1. Selecione o estágio que você deseja atualizar.

1. Na guia **Histórico de implantação**, escolha a implantação que o estágio deve usar. 

1. Escolha **Alterar implantação ativa**.

1. Confirme que você deseja alterar a implantação ativa e escolha **Alterar implantação ativa** na caixa de diálogo **Tornar implantação ativa**.

Passe dados específicos da implantação para sua API.  
 Para uma implantação, é possível definir ou modificar variáveis de estágio para transmitir dados específicos da implantação à integração da API em tempo de execução. Você pode fazer isso na guia **Variáveis de estágio** no **Editor de estágio**. Para obter mais informações, consulte as instruções em [Usar variáveis de estágio para uma API REST no API Gateway](stage-variables.md).