

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurando o AWS SAM CLI
<a name="using-sam-cli-configure"></a>

Um dos benefícios AWS SAM é que ele otimiza o tempo do desenvolvedor removendo tarefas repetitivas. AWS SAMCLIinclui um arquivo de configuração nomeado `samconfig` para essa finalidade. Por padrão, nenhuma configuração para o AWS SAMCLI é necessária, mas você pode atualizar seu arquivo de configuração para permitir que você execute comandos com menos parâmetros, permitindo, em vez disso, AWS SAM referenciar seus parâmetros personalizados em seu arquivo de configuração. Os exemplos na tabela a seguir mostram como você pode otimizar os comandos:


| Original | Otimizado com `samconfig` | 
| --- | --- | 
| **sam build --cached --parallel --use-containers** | **sam build** | 
| **sam local invoke --env-vars locals.json** | **sam local invoke** | 
| **sam local start-api --env-vars locals.json --warm-containers EAGER** | **sam local start-api** | 

A CLI do AWS SAM fornece um conjunto de comandos para ajudar os desenvolvedores a criar, desenvolver e implantar aplicações sem servidor. Cada um desses comandos é configurável com sinalizadores opcionais com base nas preferências da aplicação e do desenvolvedor. Para obter mais informações, consulte o [AWS SAMCLIconteúdo em GitHub](https://github.com/aws/aws-sam-cli)

Os tópicos desta seção mostram como criar [Arquivo de configuração do AWS SAM CLI](serverless-sam-cli-config.md) e personalizar suas configurações padrão para otimizar o tempo de desenvolvimento da aplicação sem servidor.

**Topics**
+ [Como criar o arquivo de configuração (o arquivo `samconfig`)](#using-sam-cli-configure-create)
+ [Definir configurações do projeto](#using-sam-cli-configure-project)
+ [Configurar credenciais e configurações básicas](#using-sam-cli-configure-basic)

## Como criar o arquivo de configuração (o arquivo `samconfig`)
<a name="using-sam-cli-configure-create"></a>

O arquivo AWS SAMCLI de configuração (nome do arquivo`samconfig`) é um arquivo de texto que normalmente usa a estrutura TOML, mas também pode estar em YAML. Ao usar um modelo de início AWS rápido, esse arquivo é criado quando você executa o **sam init** comando. Você pode atualizar esse arquivo ao implantar uma aplicação usando o comando **sam deploy -\$1-guided**.

Depois que a implantação estiver concluída, o arquivo `samconfig` conterá um perfil denominado `default` se você tiver usado os valores padrão. Quando você executa novamente o **deploy** comando, AWS SAM aplica as configurações armazenadas desse perfil.

A vantagem do `samconfig` arquivo é que AWS SAM armazena as configurações de qualquer outro comando disponível além do comando deploy. Além desses valores criados em uma nova implantação, há vários atributos que você pode definir no `samconfig` arquivo que podem simplificar outros aspectos do fluxo de trabalho do desenvolvedor AWS SAMCLI.

## Definir configurações do projeto
<a name="using-sam-cli-configure-project"></a>

Você pode especificar configurações específicas do projeto, como valores de parâmetros de AWS SAMCLI comando, em um arquivo de configuração para usar com o. AWS SAMCLI Para obter mais informações sobre este arquivo de configuração, consulte [Arquivo de configuração do AWS SAM CLI](serverless-sam-cli-config.md).

### Usando arquivos de configuração
<a name="using-sam-cli-configure-project-using"></a>

Os arquivos de configuração são estruturados por ambiente, comando e valor de parâmetro. Para obter mais informações, consulte [Noções básicas de arquivos de configuração](serverless-sam-cli-config.md#serverless-sam-cli-config-basics).

**Para configurar um novo ambiente**

1. Especifique seu novo ambiente em seu arquivo de configuração.

   Veja a seguir um exemplo de especificação de um novo ambiente `prod`:

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
   ```

------

1. Especifique os valores dos parâmetros como pares de valores-chave na seção de parâmetros do arquivo de configuração.

   Veja a seguir um exemplo de como especificar o nome da pilha do seu aplicativo para o ambiente `prod`.

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   stack_name = "prod-app"
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
         stack_name: prod-app
   ```

------

1. Use a opção `--config-env` para especificar o ambiente a ser usado.

   Veja um exemplo a seguir:

   ```
   $ sam deploy --config-env "prod"
   ```

**Para configurar valores de parâmetros**

1. Especifique o comando AWS SAMCLI para o qual você gostaria de configurar os valores dos parâmetros. Para configurar valores de parâmetros para todos os comandos AWS SAMCLI, use o identificador `global`.

   Veja a seguir um exemplo de especificação de valores de parâmetros para o `default` comando do ambiente `sam deploy`:

------
#### [ TOML ]

   ```
   [default.deploy.parameters]
   confirm_changeset = true
   ```

------
#### [ YAML ]

   ```
   default:
     deploy:
       parameters:
         confirm_changeset: true
   ```

------

   Veja a seguir um exemplo de especificação de valores de parâmetros para todos os AWS SAMCLI comandos no `default` ambiente:

------
#### [ TOML ]

   ```
   [default.global.parameters]
   stack_name = "sam-app"
   ```

------
#### [ YAML ]

   ```
   default:
     global:
       parameters:
         stack_name: sam-app
   ```

------

1. Você também pode especificar valores de parâmetros e modificar seu arquivo de configuração por meio do fluxo interativo AWS SAMCLI.

   A seguir está um exemplo do fluxo interativo `sam deploy --guided`:

   ```
   $ sam deploy --guided
   
   Configuring SAM deploy
   ======================
   
       Looking for config file [samconfig.toml] :  Found
       Reading default arguments  :  Success
   
       Setting default arguments for 'sam deploy'
       =========================================
       Stack Name [sam-app]: ENTER
       AWS Region [us-west-2]: ENTER
       #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
       Confirm changes before deploy [Y/n]: n
       #SAM needs permission to be able to create roles to connect to the resources in your template
       Allow SAM CLI IAM role creation [Y/n]: ENTER
       #Preserves the state of previously provisioned resources when an operation fails
       Disable rollback [y/N]: ENTER
       HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
       Save arguments to configuration file [Y/n]: ENTER
       SAM configuration file [samconfig.toml]: ENTER
       SAM configuration environment [default]: ENTER
   ```

Para obter mais informações, consulte [Criando e modificando arquivos de configuração](serverless-sam-cli-config.md#serverless-sam-cli-config-using).

### Exemplos
<a name="using-sam-cli-configure-project-examples"></a>

#### Exemplo básico de TOML
<a name="using-sam-cli-configure-project-examples-toml"></a>

Este é um exemplo de um arquivo de configuração da `samconfig.toml`:

```
...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false
```

#### Exemplo básico de YAML
<a name="using-sam-cli-configure-project-examples-yaml"></a>

Este é um exemplo de um arquivo de configuração da `samconfig.yaml`:

```
version 0.1
default:
  global:
    parameters:
      stack_name: sam-app
  build:
    parameters:
      cached: true
      parallel: true
  deploy:
    parameters:
      capabilities: CAPABILITY_IAM
      confirm_changeset: true
      resolve_s3: true
  sync:
    parameters:
      watch: true
  local_start_api:
    parameters:
      warm_containers: EAGER
prod:
  sync:
    parameters:
      watch: false
```

## Configurar credenciais e configurações básicas
<a name="using-sam-cli-configure-basic"></a>

Use o AWS Command Line Interface (AWS CLI) para definir configurações básicas, como AWS credenciais, nome da região padrão e formato de saída padrão. Depois de configurado, você pode usar essas configurações com o AWS SAMCLI. Para saber mais, consulte o seguinte no *AWS Command Line Interface Guia de usuário*:
+ [Noções básicas de configuração](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Configurações do arquivo de configuração e credenciais](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+ [Perfis nomeados para o AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
+ [Usando um perfil nomeado habilitado para o IAM Identity Center](https://docs.aws.amazon.com/cli/latest/userguide/sso-using-profile.html)

Para obter instruções de configuração rápida, consulte [Etapa 5: use o AWS CLI para configurar as AWS credenciais](prerequisites.md#prerequisites-configure-credentials).