

# Como sincronizar aplicações do AWS SAM no AWS Toolkit for JetBrains
<a name="sam-sync"></a>

AWS Serverless Application Model (AWS SAM) `sam sync` é um processo de implantação do comando AWS SAM-CLI que identifica automaticamente as alterações feitas em suas aplicações sem servidor e, em seguida, escolhe a melhor maneira de criar e implantar essas alterações na Nuvem AWS. Se você só fez alterações no código da sua aplicação sem alterar a infraestrutura, o AWS SAM Sync atualiza sua aplicação sem reimplantar sua pilha do CloudFormation.

Para obter mais informações sobre o `sam sync` e comandos da CLI do AWS SAM, consulte o tópico [AWS SAM CLI Command Reference](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html) no *Guia do usuário do AWS Serverless Application Model*.

As seções a seguir descrevem como começar a trabalhar com o AWS SAM Sync.

## Pré-requisitos
<a name="w7aac13c40c11b9"></a>

Antes de trabalhar com o AWS SAM Sync, é necessário atender aos seguintes pré-requisitos:
+ Ter uma aplicação do AWS SAM em funcionamento. Para obter mais informações sobre criar uma aplicação do AWS SAM, consulte o tópico [Como trabalhar com o AWS SAM](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-sam-create) neste Guia do usuário.
+ Ter a versão 1.78.0. (ou posterior) da CLI do AWS SAM instalada. Para obter informações sobre como instalar a CLI do AWS SAM, consulte o tópico [Installing the AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) no *Guia do usuário do AWS Serverless Application Model*.
+ Ter a aplicação em execução em um ambiente de desenvolvimento.

**nota**  
Para sincronizar e implantar uma aplicação sem servidor que contém uma função do AWS Lambda com qualquer propriedade não padrão, as propriedades opcionais devem ser definidas no arquivo de modelo do AWS SAM associado à função do AWS Lambda, antes da implantação.  
Para saber mais sobre propriedades do AWS Lambda, consulte a seção [AWS::Serverless::Function](https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction) no *Guia do usuário do AWS Serverless Application Model* no GitHub.

## Conceitos básicos
<a name="w7aac13c40c11c11"></a>

Para começar a trabalhar com o AWS SAM Sync, conclua o procedimento a seguir.

**nota**  
Certifique-se de que sua região da AWS esteja definida como o local associado à sua aplicação sem servidor.  
Para saber mais sobre como mudar a região da AWS no AWS Toolkit for JetBrains, consulte o tópico [Alternar entre as regiões da AWS](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-switch-region) neste Guia do usuário.

1. No seu projeto de aplicação sem servidor na janela de ferramentas **Projeto**, abra o menu de contexto (clique com o botão direito) para o arquivo `template.yaml`.

1. No menu de contexto `template.yaml`, escolha **Sincronizar aplicação sem servidor (antigo Implantar)** para abrir a caixa de diálogo **Confirmar a pilha de desenvolvimento**.

1. Confirme se você está trabalhando em uma pilha de desenvolvimento para abrir a caixa de diálogo **Sincronizar aplicação sem servidor**.  
![\[Confirme a caixa de diálogo da pilha de desenvolvimento\]](http://docs.aws.amazon.com/pt_br/toolkit-for-jetbrains/latest/userguide/images/sam-sync-dev-stack.png)

1. Conclua as etapas na caixa de diálogo **Sincronizar aplicação sem servidor** e, em seguida, escolha **Sincronizar** para começar o processo do AWS SAM Sync. Para saber mais sobre a caixa de diálogo **Sincronizar aplicação sem servidor**, consulte a seção [Caixa de diálogo Sincronizar aplicação sem servidor](#sam-sync-serverless-app-dialog) a seguir.

1. Durante o processo de sincronização, a **Janela de execução** do AWS Toolkit for JetBrains é atualizada com o status de implantação.

1. Após uma sincronização bem-sucedida, o nome da sua pilha do CloudFormation é adicionado ao **Explorador da AWS**. 

   Se a sincronização falhar, os detalhes da solução de problemas podem ser encontrados na **Janela de execução** do JetBrains ou nos **logs de evento** do CloudFormation. Para saber mais sobre a visualização de logs de evento do CloudFormation, consulte o tópico [Como visualizar logs de evento para uma pilha](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-cloudformation-logs) neste Guia do usuário.

## Caixa de diálogo Sincronizar aplicação sem servidor
<a name="sam-sync-serverless-app-dialog"></a>

A **caixa de diálogo Sincronizar aplicação sem servidor** auxilia você com o processo de sincronização do AWS SAM. As seções a seguir são descrições e detalhes de cada um dos diferentes componentes da caixa de diálogo.

### Criar pilha ou atualizar pilha
<a name="w7aac13c40c11c13b5"></a>

**Obrigatório:** para criar uma nova pilha de implantação, insira um nome no campo fornecido para criar e definir a pilha do CloudFormation para a implantação de sua aplicação sem servidor. 

Como alternativa, para implantar em uma pilha existente do CloudFormation, selecione o nome da pilha na lista preenchida automaticamente de pilhas associadas à sua conta da AWS.

### Parâmetros de modelo
<a name="w7aac13c40c11c13b7"></a>

**Opcional:** preenche com uma lista de parâmetros detectados em seu arquivo `template.yaml` de projeto. Para especificar valores de parâmetros, insira um novo valor de parâmetro no campo de texto fornecido, localizado na coluna **Valor**.

### S3 Bucket
<a name="w7aac13c40c11c13b9"></a>

**Obrigatório:** para escolher um bucket existente do Amazon Simple Storage Service (Amazon S3) para armazenar seu modelo do CloudFormation, selecione-o na lista.

Para criar e usar o novo bucket do Amazon S3 para armazenamento, escolha **Criar** e siga as instruções.

### Repositório do ECR
<a name="w7aac13c40c11c13c11"></a>

**Obrigatório, visível somente ao trabalhar com um pacote do tipo Imagem:** escolha um URI de repositório existente do Amazon Elastic Container Registry (Amazon ECR) para implantação da sua aplicação sem servidor.

Para obter informações sobre os tipos de pacotes do AWS Lambda, consulte a seção [Pacotes de implantação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) no *Guia do desenvolvedor do AWS Lambda.*

### Recursos do CloudFormation
<a name="w7aac13c40c11c13c13"></a>

**Obrigatório:** escolha os recursos que o CloudFormation pode usar ao criar pilhas.

### Tags
<a name="w7aac13c40c11c13c15"></a>

**Opcional:** insira suas tags preferenciais nos campos de texto fornecidos para etiquetar um parâmetro.

### Função de compilação dentro de um contêiner
<a name="w7aac13c40c11c13c17"></a>

**Opcional, o Docker exigia:** selecionar essas opções compila suas funções de aplicação sem servidor dentro de um contêiner local do Docker, antes da implantação. Isso é útil se a função depende de pacotes que têm dependências ou programas compilados nativamente.

Para obter mais informações, consulte o tópico [Building applications](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-build.html) no *Guia do desenvolvedor do AWS Serverless Application Model*.