

# Como definir as configurações da AWS CLI
<a name="cli-chap-configure"></a>

Esta seção explica como definir as configurações que a AWS Command Line Interface (AWS CLI) usa para interagir com a AWS. Incluindo o seguinte:
+ As **credenciais** identificam quem está chamando a API. As credenciais de acesso são usadas para criptografar a solicitação aos servidores da AWS para confirmar sua identidade e recuperar as políticas de permissões associadas. Essas permissões determinam as ações que você pode realizar. Para obter informações sobre como configurar suas credenciais, consulte [Autenticação e credenciais de acesso para a AWS CLI](cli-chap-authentication.md).
+ **Outros detalhes de configuração** para informar à AWS CLI como processar solicitações, como o formato de saída padrão e a região da AWS padrão.

**nota**  
A AWS exige que todas as solicitações recebidas sejam assinadas criptograficamente. O AWS CLI faz isso para você. A “assinatura” inclui uma data/time stamp. Portanto, você deve garantir que a data e a hora do seu computador estejam definidas corretamente. Se não fizer isso, e a data/hora na assinatura estiver muito longe da data/hora reconhecida pelo serviço da AWS, a AWS rejeitará a solicitação.

## Precedência de credenciais e configurações
<a name="configure-precedence"></a>

As credenciais e as configurações estão localizadas em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. Certos locais têm precedência sobre outros. As credenciais da AWS CLI e as definições de configuração têm precedência na seguinte ordem:

1. **[Opções da linha de comando](cli-configure-options.md)**: substituem as configurações em qualquer outro local, como nos parâmetros `--region`, `--output` e `--profile`.

1. **[Variáveis de ambiente](cli-configure-envvars.md)**: você pode armazenar valores nas variáveis de ambiente do sistema.

1. **[Assumir perfil](cli-configure-role.md)**: assuma as permissões de um perfil do IAM por meio da configuração ou do comando [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html).

1. **[Assumir perfil com identidade da web](cli-configure-role.md)**: assuma as permissões de um perfil do IAM usando uma identidade da web por meio da configuração ou do comando [https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-web-identity.html).

1. **[Centro de Identidade do AWS IAM](cli-configure-files.md)**: as configurações do Centro de Identidade do IAM armazenadas no arquivo `config` são atualizadas ao executar o comando `aws configure sso`. Em seguida, as credenciais são autenticadas quando você executa o comando `aws sso login`. O arquivo `config` está localizado em `~/.aws/config` no Linux ou MacOS ou em `C:\Users\USERNAME\.aws\config` no Windows. 

1. **[Arquivo de credenciais](cli-configure-files.md)**: os arquivos `credentials` e `config` são atualizados quando você executa o comando `aws configure`. O arquivo `credentials` está localizado em `~/.aws/credentials` no Linux ou MacOS ou em `C:\Users\USERNAME\.aws\credentials` no Windows.

1. **[Processo personalizado](cli-configure-sourcing-external.md)**: obtenha suas credenciais de uma fonte externa.

1. **[Arquivo de configuração](cli-configure-files.md)**: os arquivos `credentials` e `config` são atualizados quando você executa o comando `aws configure`. O arquivo `config` está localizado em `~/.aws/config` no Linux ou MacOS ou em `C:\Users\USERNAME\.aws\config` no Windows.

1. **[Credenciais de container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)**: você pode associar uma função do IAM a cada uma das suas definições de tarefa do Amazon Elastic Container Service (Amazon ECS). As credenciais temporárias para essa função estão disponíveis para os contêineres dessa tarefa. Para mais informações, consulte [Funções do IAM para Tarefas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) no *Guia de Desenvolvedor Amazon Elastic Container Service*.

1. **[Credenciais de perfil de instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)**: você pode associar um perfil do IAM a cada uma das suas instâncias do Amazon Elastic Compute Cloud (Amazon EC2). As credenciais temporárias para essa função estão disponíveis para o código em execução na instância. As credenciais são fornecidas por meio do serviço de metadados do Amazon EC2. Para obter mais informações, consulte [Perfis do IAM para o Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) no *Guia do usuário do Amazon EC2* e [Uso de perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) no *Guia do usuário do IAM*.

## Tópicos adicionais nesta seção
<a name="configure-topics"></a>
+ [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md)
+ [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md)
+ [Opções da linha de comando na AWS CLI](cli-configure-options.md)
+ [Configurar a conclusão do comando na AWS CLI](cli-configure-completion.md)
+ [A AWS CLI tenta novamente na AWS CLI](cli-configure-retries.md)
+ [Uso de um proxy HTTP para a AWS CLI](cli-configure-proxy.md)

# Configurações do arquivo de configuração e credenciais na AWS CLI
<a name="cli-configure-files"></a>

Você pode salvar as definições de configuração usadas com frequência e credenciais em arquivos que são mantidos pela AWS CLI. 

Os arquivos são divididos em `profiles`. Por padrão, a AWS CLI usa as configurações encontradas no perfil chamado `default`. Para usar outras configurações, você pode criar e fazer referência a perfis adicionais.

Você pode substituir uma configuração definindo uma das variáveis de ambiente com suporte ou usando um parâmetro de linha de comando. Para obter mais informações sobre a precedência de configuração, consulte [Como definir as configurações da AWS CLI](cli-chap-configure.md).

**nota**  
Para obter informações sobre como configurar suas credenciais, consulte [Autenticação e credenciais de acesso para a AWS CLI](cli-chap-authentication.md).

**Topics**
+ [

## Formato dos arquivos de credenciais e configuração
](#cli-configure-files-format)
+ [

## Onde as definições de configuração ficam armazenadas?
](#cli-configure-files-where)
+ [

## Usar perfis nomeados
](#cli-configure-files-using-profiles)
+ [

## Definir e visualizar as configurações usando comandos
](#cli-configure-files-methods)
+ [

## Definir novos exemplos de comandos de configuração e credenciais
](#cli-configure-files-examples)
+ [

## Configurações de arquivo `config` compatíveis
](#cli-configure-files-settings)

## Formato dos arquivos de credenciais e configuração
<a name="cli-configure-files-format"></a>

Os arquivos `config` e `credentials` são organizados em seções. As seções incluem *perfis*, *sso-sessions*, e *serviços*. Uma seção é um conjunto nomeado de configurações e continua até que outra linha de definição de seção seja encontrada. Vários perfis e seções podem ser armazenados nos arquivos `config` e `credentials`.

Esses arquivos são arquivos de texto simples que usam o seguinte formato:
+ Os nomes das seções estão entre colchetes [ ], como `[default]`, `[profile user1]` e `[sso-session]`.
+ Todas as entradas em uma seção assumem a forma geral de `setting_name=value`. 
+ As linhas podem ser comentadas iniciando-as com um caractere de hashtag (`#`). 

**Os arquivos `config` e `credentials` contêm os seguintes tipos de seção:**
+ [`profile`](#cli-configure-files-format-profile)
+ [`sso-session`](#cli-configure-files-format-sso-session)
+ [`services`](#cli-configure-files-format-services)

### Tipo de seção: `profile`
<a name="cli-configure-files-format-profile"></a>

Dependendo do arquivo, os nomes de seção de perfil usam o seguinte formato:
+ **Arquivo de configuração:** `[default]` `[profile user1]`
+ **Arquivo de credenciais:** `[default]` `[user1]`

  ***Não*** use a palavra `profile` ao criar uma entrada no arquivo `credentials`.

Cada perfil especifica credenciais diferentes e também pode especificar regiões da AWS e formatos de saída diferentes. Ao nomear o perfil em um arquivo `config`, inclua a palavra de prefixo “`profile`”, mas não a inclua no arquivo `credentials`.

Os exemplos a seguir mostram um arquivo `credentials` e `config` com dois perfis, região e saída especificados. O primeiro *[padrão]* é usado quando você executa um comando da AWS CLI sem perfil especificado. O segundo é usado quando você executa um comando da AWS CLI com o parâmetro `--profile user1`.

------
#### [ IAM Identity Center (SSO) ]

Este exemplo é para Centro de Identidade do AWS IAM. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_session = my-sso
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

------
#### [ IAM Identity Center (Legacy SSO) ]

Este exemplo é para o método legado de Centro de Identidade do AWS IAM. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 111122223333
sso_role_name = readOnly
region = us-west-2
output = text

[profile user1]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 444455556666
sso_role_name = readOnly
region = us-east-1
output = json
```

------
#### [ Short-term credentials ]

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação de credenciais de curto prazo para a AWS CLI](cli-authentication-short-term.md).

**Arquivo de credenciais**

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

[user1]
aws_access_key_id=ASIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------
#### [ IAM role ]

Este exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, `default` é o perfil de origem das credenciais, e `user1` empresta as mesmas credenciais e assume um novo perfil. Para obter mais informações, consulte [Uso de funções do IAM na AWS CLI](cli-configure-role.md).

**Arquivo de credenciais**

O arquivo `credentials` depende da autenticação que o perfil de origem usa. No exemplo a seguir, o perfil de origem usa credenciais de curto prazo.

```
[default]
aws_access_key_id=ASIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
source_profile=default
role_session_name=session_user1
region=us-east-1
output=text
```

------
#### [ Amazon EC2 instance metadata credentials ]

Este exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Para obter mais informações, consulte [Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI](cli-configure-metadata.md).

**Arquivo de credenciais**

O arquivo `credentials` não é usado para esse método de autenticação.

**Arquivo de configuração**

```
[default]
role_arn=arn:aws:iam::123456789012:role/defaultrole
credential_source=Ec2InstanceMetadata
region=us-west-2
output=json

[profile user1]
role_arn=arn:aws:iam::777788889999:role/user1role
credential_source=Ec2InstanceMetadata
region=us-east-1
output=text
```

------
#### [ Long-term credentials ]

**Atenção**  
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md).

**Arquivo de credenciais**

```
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
```

**Arquivo de configuração**

```
[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text
```

------

Para obter mais informações e métodos adicionais de autorização e credencial, consulte [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md).

### Tipo de seção: `sso-session`
<a name="cli-configure-files-format-sso-session"></a>

A seção do `sso-session` do arquivo `config` é usada para agrupar variáveis de configuração para adquirir tokens de acesso do SSO, que podem então ser usados para adquirir credenciais da AWS. As seguintes configurações são usadas:
+ **(Obrigatório)** `sso\$1start\$1url`
+ **(Obrigatório)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

Defina uma seção de `sso-session` e associe-a a um perfil. `sso_region` e `sso_start_url` devem ser definidos na seção `sso-session`. Normalmente, `sso_account_id` e `sso_role_name` devem ser definidos na seção `profile` para que o SDK possa solicitar credenciais do SSO. 

O exemplo a seguir configura o SDK para solicitar credenciais do SSO e é compatível com a atualização automática de tokens: 

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
```

Isso também permite que as configurações de `sso-session` sejam reutilizadas em vários perfis: 

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[profile prod]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole2

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
```

No entanto, `sso_account_id` e `sso_role_name` não são necessários para todos os cenários de configuração do token do SSO. Se a aplicação usa apenas serviços da AWS compatíveis com a autenticação do portador, as credenciais tradicionais da AWS não são necessárias. A autenticação do portador é um esquema de autenticação HTTP que usa tokens de segurança chamados tokens de portador. Nesse cenário, `sso_account_id` e `sso_role_name` não são obrigatórios. Consulte o guia individual do serviço da AWS para determinar se ele é compatível com a autorização do token do portador.

Além disso, os escopos de registro podem ser configurados como parte de uma `sso-session`. O escopo é um mecanismo no OAuth 2.0 para limitar o acesso de uma aplicação à conta de um usuário. Uma aplicação pode solicitar um ou mais escopos, e o token de acesso emitido para a aplicação será limitado aos escopos concedidos. Esses escopos definem as permissões solicitadas para serem autorizadas para o cliente OIDC registrado e os tokens de acesso recuperados pelo cliente. O exemplo a seguir define `sso_registration_scopes` para fornecer acesso a fim de listar contas/perfis: 

```
[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
```

O token de autenticação é armazenado em cache no disco sob o diretório `~/.aws/sso/cache` com um nome de arquivo baseado no nome da sessão.

Para obter mais informações sobre esse tipo de configuração, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

### Tipo de seção: `services`
<a name="cli-configure-files-format-services"></a>

A seção `services` é um grupo de configurações que configura endpoints personalizados para solicitações AWS service (Serviço da AWS). Depois, um perfil é vinculado a uma seção `services`. 

```
[profile dev]
services = my-services
```

A seção `services` é separada em subseções por linhas `<SERVICE> = `, onde `<SERVICE>` é a chave de identificação do AWS service (Serviço da AWS). O identificador AWS service (Serviço da AWS) é baseado no `serviceId` do modelo de API, substituindo todos os espaços por sublinhados e colocando todas as letras em minúsculas. Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção `services`, consulte [Usar endpoints na AWS CLI](cli-configure-endpoints.md). A chave de identificação de serviço é seguida por configurações aninhadas, cada uma em sua própria linha e recuada por dois espaços. 

O exemplo a seguir configura o endpoint a ser usado para solicitações feitas ao serviço Amazon DynamoDB na seção *my-services* que é usada no perfil *dev*. Todas as linhas imediatamente seguintes que estejam recuadas são incluídas nessa subseção e se aplicam a esse serviço. 

```
[profile dev]
services = my-services

[services my-services]
dynamodb = 
  endpoint_url = http://localhost:8000
```

Para obter mais informações sobre endpoints específicos de serviço, consulte [Usar endpoints na AWS CLI](cli-configure-endpoints.md).

Se o seu perfil tiver credenciais baseadas em perfis configurados por meio de um parâmetro `source_profile` para a funcionalidade “assumir função” do IAM, o SDK usará somente configurações de serviço para o perfil especificado. Ele não usa perfis com funções vinculadas a ele. Por exemplo, usando o seguinte arquivo compartilhado `config`: 

```
[profile A]
credential_source = Ec2InstanceMetadata
endpoint_url = https://profile-a-endpoint.aws/

[profile B]
source_profile = A
role_arn = arn:aws:iam::123456789012:role/roleB
services = profileB

[services profileB]
ec2 = 
  endpoint_url = https://profile-b-ec2-endpoint.aws
```

 Se você usar o perfil `B` e fizer uma chamada em seu código para o Amazon EC2, o endpoint será resolvido como `https://profile-b-ec2-endpoint.aws`. Se o seu código fizer uma solicitação para qualquer outro serviço, a resolução do endpoint não seguirá nenhuma lógica personalizada. O endpoint não é resolvido para o endpoint global definido no perfil `A`. Para que um endpoint global tenha efeito para o perfil `B`, você precisaria configurar `endpoint_url` diretamente no perfil `B`. 

## Onde as definições de configuração ficam armazenadas?
<a name="cli-configure-files-where"></a>

A AWS CLI armazena informações confidenciais das credenciais com `aws configure` em um arquivo local chamado `credentials`, em uma pasta chamada `.aws`, no seu diretório inicial. As opções menos confidenciais de configuração especificadas com `aws configure` são armazenadas em um arquivo local chamado `config`, também armazenado na pasta `.aws`, no seu diretório inicial. 

**Armazenar credenciais no arquivo de configuração**  
Você pode manter todas as configurações de perfil em um único arquivo, já que a AWS CLI pode ler as credenciais do arquivo `config`. Se houver credenciais nos dois arquivos para um perfil que compartilhe o mesmo nome, as chaves no arquivo de credenciais terão precedência. Sugerimos manter as credenciais nos arquivos `credentials`. Esses arquivos também são usados pelos vários kits de desenvolvimento de software de linguagem (SDKs). Se você usar um dos SDKs além da AWS CLI, confirme se as credenciais precisarão ser armazenadas no próprio arquivo.

O local do diretório inicial varia de acordo com o sistema operacional, mas é acessado usando as variáveis de ambiente `%UserProfile%` no Windows e `$HOME` ou `~` (til) em sistemas baseados em Unix. Você pode especificar um local não padrão para os arquivos configurando as variáveis de ambiente `AWS_CONFIG_FILE` e `AWS_SHARED_CREDENTIALS_FILE` para outro caminho local. Para mais detalhes, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md). 

Quando você usa um perfil compartilhado que especifica uma função do AWS Identity and Access Management (IAM), a AWS CLI chama a operação `AssumeRole` do AWS STS para recuperar as credenciais temporárias. Essas credenciais são armazenadas (no `~/.aws/cli/cache`). Os comandos subsequentes da AWS CLI usam as credenciais temporárias armazenadas em cache até que expirem e, nesse ponto, a AWS CLI atualiza automaticamente as credenciais.

## Usar perfis nomeados
<a name="cli-configure-files-using-profiles"></a>

Se nenhum perfil for definido explicitamente, será usado o perfil `default`.

Para usar um perfil designado, adicione a opção `--profile profile-name` para o comando. O exemplo a seguir lista todas as instâncias do Amazon EC2 que usam as credenciais e as configurações definidas no perfil `user1`.

```
$ aws ec2 describe-instances --profile user1
```

Para usar um perfil designado para vários comandos, evite especificar o perfil ao configurar o comando em cada variável de ambiente `AWS_PROFILE` como o perfil padrão. É possível substituir essa configuração usando o parâmetro `--profile`.

------
#### [ Linux or macOS ]

```
$ export AWS_PROFILE=user1
```

------
#### [ Windows ]

```
C:\> setx AWS_PROFILE user1
```

O uso de `[set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` para definir uma variável de ambiente altera o valor usado até o final da sessão de prompt de comando atual ou até que você defina a variável como um valor diferente. 

Usar [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/setx) para definir uma variável de ambiente altera o valor em todos os shells de comando criados depois de executar o comando. Isso ***não*** afeta nenhum shell de comando que já esteja em execução no momento em que você executa o comando. Feche e reinicie o shell de comando para ver os efeitos da alteração.

Configurar a variável de ambiente altera o perfil padrão até o final do seu shell sessão ou até que você defina a variável a um valor diferente. Você pode tornar as variáveis de ambiente persistentes em sessões futuras colocando-as no script de inicialização do shell. Para obter mais informações, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md).

------

## Definir e visualizar as configurações usando comandos
<a name="cli-configure-files-methods"></a>

Existem várias formas de visualizar e definir as configurações usando comandos.

**`[aws configure](https://docs.aws.amazon.com/cli/v1/reference/configure/index.html)`**  
Execute esse comando para definir e visualizar rapidamente as credenciais, a região e o formato de saída. O exemplo a seguir mostra valores de exemplo.  

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

**`[aws configure set](https://docs.aws.amazon.com/cli/v1/reference/configure/set.html)`**  
Você pode definir quaisquer credenciais ou configurações usando `aws configure set`. Especifique o perfil que você deseja visualizar ou modificar com a configuração `--profile`.   
Por exemplo, o comando a seguir define a `region` no perfil chamado `integ`.  

```
$ aws configure set region us-west-2 --profile integ
```
Para remover uma configuração ou exclua manualmente a configuração nos arquivos `config` e `credentials` em um editor de texto.

**[https://docs.aws.amazon.com/cli/v1/reference/configure/get.html](https://docs.aws.amazon.com/cli/v1/reference/configure/get.html)**  
Você pode recuperar quaisquer credenciais ou configurações definidas usando `aws configure get`. Especifique o perfil que você deseja visualizar ou modificar com a configuração `--profile`.   
Por exemplo, o comando a seguir recupera a configuração `region` no perfil chamado `integ`.  

```
$ aws configure get region --profile integ
us-west-2
```
Se a saída estiver vazia, a configuração não estará explicitamente definida e usará o valor padrão.

**[https://docs.aws.amazon.com/cli/latest/reference/reference/configure/import.html](https://docs.aws.amazon.com/cli/latest/reference/reference/configure/import.html)**  
Importe as credenciais `CSV` geradas do console da web do IAM. Isso não vale para credenciais geradas pelo IAM Identity Center; os clientes que usam o IAM Identity Center devem usar aws configure sso. Um arquivo CSV é importado com o nome do perfil correspondente ao nome do usuário. O arquivo CSV deve conter os cabeçalhos a seguir.  
+ Nome de usuário
+ Access key ID (ID da chave de acesso)
+ Secret access key (Chave de acesso secreta)
Durante a criação inicial do par de chaves, depois de fechar a caixa de diálogo **Download .csv file** (Baixar arquivo .csv), você não poderá acessar a chave de acesso secreta depois de fechar a caixa de diálogo. Se você precisar de um arquivo `.csv`, será necessário criá-lo por conta própria com os cabeçalhos necessários e as informações do par de chaves armazenado. Se você não tiver acesso às informações do par de chaves, será necessário criar outro par de chaves.

```
$ aws configure import --csv file://credentials.csv
```

**[https://docs.aws.amazon.com/cli/v1/reference/configure/list.html](https://docs.aws.amazon.com/cli/v1/reference/configure/list.html)**  
Para listar os dados de configuração, use o comando `aws configure list`. Esse comando lista as informações de perfil, chave de acesso, chave secreta e configuração da região usadas para o perfil especificado. Para cada item de configuração, ele mostra o valor, onde o valor da configuração foi recuperado e o nome da variável de configuração.  
Por exemplo, se você fornecer a Região da AWS em uma variável de ambiente, esse comando mostrará o nome da região que você configurou, que esse valor veio de uma variável de ambiente e o nome da variável de ambiente.   
No caso de métodos de credenciais temporárias, como perfis e o Centro de Identidade do IAM, esse comando exibe a chave de acesso armazenada temporariamente em cache e a chave de acesso secreta é exibida.  

```
$ aws configure list
NAME       : VALUE                : TYPE                    : LOCATION
profile    : <not set>            : None                    : None
access_key : ****************ABCD : shared-credentials-file : 
secret_key : ****************ABCD : shared-credentials-file : 
region     : us-west-2            : env                     : AWS_DEFAULT_REGION
```

**[https://docs.aws.amazon.com/cli/v1/reference/configure/list-profiles.html](https://docs.aws.amazon.com/cli/v1/reference/configure/list-profiles.html)**  
Para listar todos os nomes de perfil, use o comando `aws configure list-profiles`.  

```
$ aws configure list-profiles
default
test
```

**`aws configure mfa-login`**  
Execute este comando para configurar um novo perfil e usar a autenticação multifator (MFA) e suas credenciais de usuário do IAM com o perfil especificado. Se nenhum perfil for especificado, a MFA será baseada no perfil `default`. Se nenhum perfil padrão estiver configurado, o comando `mfa-login` solicitará suas credenciais da AWS antes de solicitar suas informações de MFA. O exemplo de comando a seguir usa sua configuração padrão e cria um perfil de MFA.  

```
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
```
Para atualizar um perfil existente, use o parâmetro `--update-profile`.  

```
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
```
No momento, este comando é compatível somente com autenticadores de senha de uso único (OTP) baseados em hardware ou software. No momento, não é possível usar esse comando com chaves de acesso e dispositivos U2F.  
Para ter mais informações sobre como usar a MFA com o IAM, consulte [Usar autenticação multifator (MFA) da AWS no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) no *Guia do usuário do AWS Identity and Access Management IAM*.

**`aws configure sso`**  
Execute esse comando para definir e visualizar rapidamente as credenciais do Centro de Identidade do AWS IAM, a região e o formato de saída. O exemplo a seguir mostra valores de exemplo.  

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access
```

**`aws configure sso-session`**  
Execute este comando para definir e visualizar rapidamente as credenciais do Centro de Identidade do AWS IAM, a região e o formato de saída na seção `sso-session` dos arquivos `credentials` e `config`. O exemplo a seguir mostra valores de exemplo.  

```
$ aws configure sso-session
SSO session name: my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access
```

**`aws configure export-credentials`**  
Execute esse comando para exportar as credenciais atualmente definidas no formato especificado. Por padrão, o comando exporta as credenciais padrão no formato `process`, que é um formato JSON compatível com o formato de credenciais de SDKs da AWS e Ferramentas.   

```
$ aws configure export-credentials
{
  "Version": 1,
  "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
  "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
```
Para exportar um perfil e formato específicos, use as opções `--profile` e `--format`. As opções de formato são as seguintes:  
+ **(padrão)**`process`****: o formato JSON compatível com a configuração de `credential_process` de SDKs da AWS e Ferramentas.
+ **`env`** ‐ variáveis de ambiente em formato de shell exportado.
+ **`env-no-export`** ‐ variáveis de ambiente não exportadas em formato shell.
+ **`powershell`** ‐ variáveis de ambiente no formato PowerShell.
+ **`windows-cmd`** ‐ variáveis de ambiente no formato de linha de comando do Windows.
O exemplo a seguir exporta o perfil `user1` para um formato de shell exportado.  

```
$ aws configure export-credentials --profile user1 --format env
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

## Definir novos exemplos de comandos de configuração e credenciais
<a name="cli-configure-files-examples"></a>

Os exemplos a seguir mostram a configuração de um perfil padrão com credenciais, região e saída especificadas para diferentes métodos de autenticação.

------
#### [ Console sessions as short-term credentials ]

Este exemplo permite que você use suas credenciais do console existentes com o comando `aws login`. Este método de login pode ser usado com credenciais raiz criadas durante a configuração inicial da conta, com um usuário do IAM ou com uma identidade federada do seu provedor de identidades. Para ter mais informações, consulte [Login para desenvolvimento local da AWS usando credenciais do console](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html).

```
$ aws login
No AWS region has been configured. The AWS region is the geographic location of your AWS resources. 

If you've used AWS before and already have resources in your account, tell us which region they were 
created in. If you haven't created resources in your account before, you can pick the region closest to you: 
https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. You are able to change 
the region in the CLI at any time with the command `aws configure set region NEW_REGION`.

AWS Region [us-east-1]: us-east-1
Attempting to open the login page for `us-east-1` in your default browser. If the browser does not open, 
use the following URL to complete your login:

https://us-east-1.signin.aws.amazon.com/v1/authorize<abbreviated>

If you cannot connect to this URL, make sure that you have specified a valid region.

Waiting for login...

Logged in with role `arn:aws:sts::012345678910:user/iam-user`, and configured profile 
`default` to use `us-east-1`. This session will expire on October 14, 2025 at 2:04 PST. After this time, you 
can renew your session with `aws login`.
```

------
#### [ IAM Identity Center (SSO) ]

Este exemplo é para o Centro de Identidade do AWS IAM usando o assistente `aws configure sso`. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

Attempting to automatically open the SSO authorization page in your default browser.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ IAM Identity Center (Legacy SSO) ]

Este exemplo é para o método legado do Centro de Identidade do AWS IAM usando o assistente `aws configure sso`. Para usar o SSO legado, deixe o nome da sessão em branco. Para obter mais informações, consulte [Definição da autenticação do Centro de Identidade do IAM com a AWS CLI](cli-configure-sso.md).

```
$ aws configure sso
SSO session name (Recommended):
SSO start URL [None]: https://my-sso-portal.awsapps.com/start
SSO region [None]:us-east-1

SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.

There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (111122223333) 
  ProductionAccount, production-account-admin@example.com (444455556666)

Using the account ID 111122223333

There are 2 roles available to you.
> ReadOnly
  FullAccess

Using the role name "ReadOnly"

CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: user1
```

------
#### [ Short-term credentials ]

Este exemplo é para as credenciais de curto prazo do AWS Identity and Access Management. O assistente de configuração aws é usado para definir os valores iniciais e, depois, o comando `aws configure set` atribui o último valor necessário. Para obter mais informações, consulte [Autenticação de credenciais de curto prazo para a AWS CLI](cli-authentication-short-term.md).

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
$ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
```

------
#### [ IAM role ]

Este exemplo serve para assumir um perfil do IAM. Os perfis que usam perfis do IAM extraem credenciais de outro perfil e, depois, aplicam as permissões de perfil do IAM. Nos exemplos a seguir, `default` é o perfil de origem das credenciais, e `user1` empresta as mesmas credenciais e assume um novo perfil. Não há assistente para esse processo, portanto, cada valor é definido usando o comando `aws configure set`. Para obter mais informações, consulte [Uso de funções do IAM na AWS CLI](cli-configure-role.md).

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set source_profile default
$ aws configure set role_session_name session_user1
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Amazon EC2 instance metadata credentials ]

Este exemplo é para as credenciais obtidas dos metadados de instância do Amazon EC2 de host. Não há assistente para esse processo, portanto, cada valor é definido usando o comando `aws configure set`. Para obter mais informações, consulte [Uso de metadados da instância do Amazon EC2 como credenciais na AWS CLI](cli-configure-metadata.md).

```
$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole
$ aws configure set credential_source Ec2InstanceMetadata
$ aws configure set region us-west-2
$ aws configure set output json
```

------
#### [ Long-term credentials ]

**Atenção**  
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Este exemplo é para as credenciais de longo prazo do AWS Identity and Access Management. Para obter mais informações, consulte [Autenticação usando credenciais de usuário do IAM para a AWS CLI](cli-authentication-user.md).

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

------

## Configurações de arquivo `config` compatíveis
<a name="cli-configure-files-settings"></a>

**Topics**
+ [

### Configurações globais
](#cli-configure-files-global)
+ [

### Configurações de comando personalizadas do S3
](#cli-configure-files-s3)

As configurações a seguir têm suporte no arquivo `config`. Os valores listados no perfil especificado (ou padrão) serão usados, a menos que eles sejam ignorados pela presença de uma variável de ambiente ou uma opção de linha de comando com o mesmo nome. Para obter informações sobre a ordem de precedência das configurações, consulte [Como definir as configurações da AWS CLI](cli-chap-configure.md)

### Configurações globais
<a name="cli-configure-files-global"></a>

** `account_id_endpoint_mode` **  
Especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Consulte mais informações sobre endpoints baseados em conta em [Endpoints baseados em conta](cli-configure-endpoints.md#endpoints-accountid).  
Essa configuração pode ser definida como:  
+ **(padrão)** **`preferred`**: o endpoint deve incluir o ID da conta, se disponível. 
+ **`disabled`** – um endpoint resolvido não inclui o ID da conta. 
+ **`required`** – o endpoint deve incluir o ID da conta. Se o ID da conta não estiver disponível, o SDK lançará um erro.
Pode ser substituída pela variável de ambiente `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE`. Para usar endpoints baseados em conta, o ID deve ser definido na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.  

```
account_id_endpoint_mode = preferred
```
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

** `aws_access_key_id` **  
Especifica a chave de acesso da AWS usada como parte das credenciais para autenticar a solicitação do comando. Embora ela possa ser armazenada no arquivo `config`, recomendamos armazená-la no arquivo `credentials`.   
Pode ser substituída pela variável de ambiente `AWS_ACCESS_KEY_ID`. Você não pode especificar o ID de chave de acesso como uma opção de linha de comando.  

```
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
```

** `aws_account_id` **  
Especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. Consulte mais informações sobre endpoints baseados em conta em [Endpoints baseados em conta](cli-configure-endpoints.md#endpoints-accountid).  
Pode ser substituída pela variável de ambiente `AWS\$1ACCOUNT\$1ID`. A variável de ambiente `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` ou a configuração `account\$1id\$1endpoint\$1mode` deve ser definida como `preferred` ou `required` para usar essa configuração.  

```
aws_account_id = 123456789EXAMPLE
```
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`aws_secret_access_key`**  
Especifica a chave secreta da AWS usada como parte das credenciais para autenticar a solicitação do comando. Embora ela possa ser armazenada no arquivo `config`, recomendamos armazená-la no arquivo `credentials`.   
Pode ser substituída pela variável de ambiente `AWS_SECRET_ACCESS_KEY`. Você não pode especificar a chave de acesso secreta como uma opção de linha de comando.  

```
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

**`aws_session_token`**  
Especifica um token de sessão da AWS. Um token de sessão só será necessário se você especificar manualmente credenciais de segurança temporárias. Embora ela possa ser armazenada no arquivo `config`, recomendamos armazená-la no arquivo `credentials`.   
Pode ser substituída pela variável de ambiente `AWS_SESSION_TOKEN`. Você não pode especificar o token de sessão como uma opção de linha de comando.  

```
aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
```

**`ca_bundle`**  
Especifica um pacote de certificado CA (um arquivo com a extensão `.pem`) que é usado para verificar certificados SSL.  
Pode ser substituído pela variável de ambiente `AWS\$1CA\$1BUNDLE` ou pela opção de linha de comando `--ca-bundle`.   

```
ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
```

**`cli_auto_prompt`**  
Habilita o prompt automático para a AWS CLI versão 2. Há duas configurações que podem ser usadas:  
+ **`on`** usa o modo de prompt automático completo cada vez que você tenta executa um comando da `aws`. Isso inclui pressionar **ENTER** após um comando completo ou um comando incompleto.

  ```
  cli_auto_prompt = on
  ```
+ **`on-partial`** usa o modo de prompt automático parcial. Se um comando estiver incompleto ou não puder ser executado devido a erros de validação do lado do cliente, o prompt automático será usado. Esse modo é particularmente útil se você tem scripts pré-existentes, runbooks ou se deseja receber o prompt automático somente para comandos com os quais você não está familiarizado, em vez de ver o prompt para todos os comandos.

  ```
  cli_auto_prompt = on-partial
  ```
Você pode sobrescrever essa configuração usando a variável de ambiente `aws\$1cli\$1auto\$1prompt` ou os parâmetros de linha de comando `--cli-auto-prompt` e `--no-cli-auto-prompt`.  
Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte [Habilitar e usar os prompts de comando na AWS CLI](cli-usage-parameters-prompting.md).

**`cli_binary_format`**  
Especifica como a AWS CLI versão 2 interpreta parâmetros de entrada binários. Pode ter um dos valores a seguir:  
+ **base64**: o valor padrão. Um parâmetro de entrada que é digitado como um objeto grande binário (BLOB) aceita uma string codificada em base64. Para passar conteúdo binário verdadeiro, coloque o conteúdo em um arquivo e forneça o caminho e o nome do arquivo com o prefixo `fileb://` como o valor do parâmetro. Para passar um texto codificado em base64 contido em um arquivo, forneça o caminho e o nome do arquivo com o prefixo `file://` como o valor do parâmetro.
+ **raw-in-base64-out**: padrão para a AWS CLI versão 1. Se o valor da configuração for `raw-in-base64-out`, os arquivos referenciados usando o prefixo `file://` serão lidos como texto e, então, a AWS CLI tenta codificá-lo em binário.
Esta entrada não tem uma variável de ambiente equivalente. Você pode especificar o valor em um único comando usando o parâmetro `--cli-binary-format raw-in-base64-out`.  

```
cli_binary_format = raw-in-base64-out
```
Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo `fileb://`, a AWS CLI *sempre* esperará que o arquivo tenha um conteúdo binário bruto e não tentará converter o valor.   
Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo `file://`, a AWS CLI tratará o arquivo de acordo com a configuração `cli_binary_format` atual. Se o valor dessa configuração for `base64` (o padrão quando não é definido explicitamente), a AWS CLI esperará que o arquivo contenha texto codificado em base64. Se o valor dessa configuração for `raw-in-base64-out`, a AWS CLI esperará que o arquivo tenha conteúdo binário bruto.

**`cli_help_output`**  
A partir da versão `2.31.0`, a exibição do comando `help` é definida pela configuração `cli_help_output` e tem os seguintes valores:  
+  **(padrão)** `terminal`: abra a página do manual no terminal.
+ `browser`: abra a página do manual como um arquivo HTML local em seu navegador padrão. Um aviso é impresso no seu terminal quando o navegador padrão está sendo aberto e uma mensagem de erro será exibida se a AWS CLI não conseguir abrir o navegador.
+ `url`: imprima o URL do “Guia de referência da AWS CLI” on-line da versão da AWS CLI que você instalou. As configurações de paginação do lado do cliente, como a variável de ambiente `AWS_PAGER`, são mantidas.

```
cli_help_output = browser
```
Para obter mais informações sobre o comando `help`, consulte [Acesso a ajuda e recursos para a AWS CLI](cli-usage-help.md).

**`cli_history`**  
Desabilitado por padrão. Essa configuração ativa o histórico de comandos para a AWS CLI. Após habilitar essa configuração, a AWS CLI registra o histórico de comandos da `aws`.  

```
cli_history = enabled
```
Você pode listar seu histórico usando o comando `aws history list` e usar os `command_ids`resultantes no comando `aws history show` para obter detalhes. Para ter mais informações, consulte [https://docs.aws.amazon.com/cli/latest/reference/history/index.html](https://docs.aws.amazon.com/cli/latest/reference/history/index.html) no *Guia de referência da AWS CLI*.

**`cli_pager`**  
Especifica o programa de paginação usado para saída. Por padrão, a AWS CLI versão 2 retorna toda a saída pelo programa de paginação padrão do sistema operacional.  
Pode ser substituído pela variável de ambiente AWS\$1PAGER.  

```
cli_pager=less
```

**`cli_timestamp_format`**  
Especifica o formato de saída dos valores de carimbo de data/hora. Você pode especificar qualquer um dos seguintes valores:  
+ **iso8601**: o valor padrão para a AWS CLI versão 2. Se especificado, a AWS CLI reformata todos os carimbos de data/hora de acordo com a [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html). Os time stamps formatados como ISO 8601 são parecidos com os exemplos a seguir. O exemplo a seguir demonstra como a hora é formatada separando a data e a hora com um `T` e incluindo um `Z` após a hora.

  ```
  YYYY-MM-DDThh:mm:ssZ
  ```

  Os exemplos a seguir mostram um carimbo de data/hora usando a formatação anterior.

  ```
  2024-05-08T15:16:43Z
  ```
+ **wire**: o valor padrão para a AWS CLI versão 1. Se especificado, a AWS CLI exibe todos os valores de time stamp exatamente como recebidos na resposta de consulta HTTP. 
Essa configuração não tem uma variável de ambiente equivalente nem uma opção de linha de comandos. Essa configuração não altera as entradas de carimbo de data/hora, somente a formatação da saída.  

```
cli_timestamp_format = iso8601
```

**`credential\$1process`**  
Especifica um comando externo que a AWS CLI executa para gerar ou recuperar credenciais de autenticação a serem usadas para esse comando. O comando deve retornar as credenciais em um formato específico. Para obter mais informações sobre como usar essa configuração, consulte [Credenciais de fornecimento com um processo externo na AWS CLI](cli-configure-sourcing-external.md).  
Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.  

```
credential_process = /opt/bin/awscreds-retriever --username susan
```

**`credential\$1source`**  
Usado em instâncias ou contêineres do Amazon EC2 para especificar onde a AWS CLI pode encontrar credenciais a serem usadas para assumir a função especificada com o parâmetro `role_arn`. Não é possível especificar `source_profile` e `credential_source` no mesmo perfil.  
Esse parâmetro pode ter um dos três valores:  
+ **Environment**: especifica que a AWS CLI deve recuperar credenciais de origem de variáveis de ambiente.
+ **Ec2InstanceMetadata**: especifica que a AWS CLI deve usar a função do IAM associada ao [perfil de instância do EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) para obter credenciais de origem.
+ **EcsContainer**: especifica que a AWS CLI deve usar a função do IAM associada ao contêiner do ECS como credenciais de origem.

```
credential_source = Ec2InstanceMetadata
```

**`duration_seconds`**  
Especifica a duração máxima da sessão da função, em segundos. Esse valor pode variar de 900 segundos (15 minutos) até o valor configurado de duração máxima da sessão para a função (que pode ser até 43200). Esse é um parâmetro opcional e, por padrão, o valor é definido como 3600 segundos.

**`endpoint_url`**  
Especifica o endpoint usado para todas as solicitações de serviço. Se essa configuração for usada na seção [`services`](#cli-configure-files-format-services) do arquivo `config`, o endpoint será usado somente para o serviço especificado. Para obter mais informações, consulte [Definir um endpoint global para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-global).  
O exemplo a seguir usa o endpoint global `http://localhost:1234` e um endpoint específico de serviço de `http://localhost:4567` para o Amazon S3.  

```
[profile dev]
endpoint_url = http://localhost:1234
services = s3-specific

[services s3-specific]
s3 = 
  endpoint_url = http://localhost:4567
```
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`ignore_configure_endpoint_urls`**  
Se habilitada, a AWS CLI ignorará todas as configurações de endpoint personalizadas especificadas no arquivo `config`. Os valores válidos são `true` e `false`.  

```
ignore_configure_endpoint_urls = true
```
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`external\$1id`**  
Especifica um identificador exclusivo que é usado por terceiros para assumir uma função em suas contas de clientes. Isso é mapeado para o parâmetro `ExternalId` na operação `AssumeRole`. Esse parâmetro será necessário somente se a política de confiança para a função especificar um valor para `ExternalId`. Para obter mais informações, consulte [Como usar um ID externo ao conceder acesso aos seus recursos da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) no *Guia do usuário do IAM*.

**`max\$1attempts`**  
Especifica um valor para o máximo de novas tentativas utilizadas pelo manipulador de novas tentativas da AWS CLI, onde a chamada inicial conta para o valor de `max_attempts` fornecido por você.   
Você pode substituir esse valor usando a variável de ambiente `AWS_MAX_ATTEMPTS`.  

```
max_attempts = 3
```

**`mfa\$1serial`**  
O número de identificação de um dispositivo MFA a ser usado ao assumir uma função. Isso será obrigatório apenas se a política de confiança da função que está sendo assumida incluir uma condição que exija a autenticação MFA. O valor pode ser um número de série de um dispositivo de hardware (como `GAHT12345678`) ou um nome de recurso da Amazon (ARN) de um dispositivo MFA virtual (como `arn:aws:iam::123456789012:mfa/user`).

**`output`**  
Especifica o formato de saída padrão para comandos solicitados usando esse perfil. Você pode especificar qualquer um dos seguintes valores:  
+ **[`json`](cli-usage-output-format.md#json-output)**: a saída é formatada como uma string [JSON](https://json.org/).
+  **[`yaml`](cli-usage-output-format.md#yaml-output)**: a saída é formatada como uma string [YAML](https://yaml.org/).
+ **[`yaml-stream`](cli-usage-output-format.md#yaml-stream-output)**: a saída é transmitida e formatada como uma string [YAML](https://yaml.org/). A transmissão possibilita um manuseio mais rápido de tipos de dados grandes.
+ **[`text`](cli-usage-output-format.md#text-output)** – a saída é formatada como várias linhas de valores de string separados por tabulação. Isso pode ser útil para passar a saída para um processador de texto, como `grep`, `sed` ou `awk`.
+ **[`table`](cli-usage-output-format.md#table-output)** – a saída é formatada como uma tabela usando os caracteres \$1\$1- para formar as bordas da célula. Geralmente, a informação é apresentada em um formato "amigável", que é muito mais fácil de ler do que outros, mas não tão útil programaticamente.
+ **[`off`](cli-usage-output-format.md#off-output)**: a saída suprime todas as saídas de comando para stdout. Isso é útil em scripts de automação e pipelines de CI/CD em que somente é necessário verificar o código de saída do comando sem processar a saída.
Pode ser substituído pela variável de ambiente `AWS_DEFAULT_OUTPUT` ou pela opção de linha de comando `--output`.  

```
output = table
```

**`parameter_validation`**  
Especifica se o cliente da AWS CLI tentará validar os parâmetros antes de enviá-los para o endpoint de serviço da AWS.  
+ **true**: o valor padrão. Se especificado, a AWS CLI executa a validação local de parâmetros da linha de comando.
+ **false**: se especificado, a AWS CLI não valida parâmetros da linha de comando antes de enviá-los para o endpoint de serviço da AWS.
Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.  

```
parameter_validation = false
```

**`region`**  
Especifica a Região da AWS para a qual enviar solicitações para os comandos solicitados usando esse perfil.  
+ É possível especificar qualquer um dos códigos de região disponíveis para o serviço escolhido, conforme listado em [Regiões e endpoints da AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) na *Referência geral da Amazon Web Services*.
+ `aws_global` permite especificar o endpoint global para serviços compatíveis com um endpoint global, além de endpoints regionais, como AWS Security Token Service (AWS STS) e o Amazon Simple Storage Service (Amazon S3).
Você pode substituir esse valor usando a variável de ambiente `AWS_REGION`, a variável de ambiente `AWS_DEFAULT_REGION` ou a opção da linha de comandos `--region`.  

```
region = us-west-2
```

**`request_checksum_calculation`**  
Especifica quando uma soma de verificação é calculada para cargas úteis de solicitação e tem as seguintes opções:   
+ `when_supported`: **(padrão)** a soma de verificação da carga útil da solicitação é calculada quando uma operação especifica um algoritmo de soma de verificação em seu modelo de serviço ou solicita somas de verificação da solicitação.
+ `when_required`: a soma de verificação da carga útil da solicitação é calculada quando uma operação exige somas de verificação de solicitação ou quando um usuário fornece um `requestAlgorithmMember` que é modelado pelo AWS service (Serviço da AWS).

```
request_checksum_calculation = when_supported
```
A variável de ambiente [`AWS_REQUEST_CHECKSUM_CALCULATION`](cli-configure-envvars.md#envvars-list-AWS_REQUEST_CHECKSUM_CALCULATION) sobrescreve essa configuração.

**`response_checksum_validation`**  
Especifica quando a validação da soma de verificação é realizada para cargas úteis de resposta e tem as seguintes opções:   
+ `when_supported`: **(padrão)** a validação da soma de verificação da carga útil da resposta é executada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço que seja compatível com a AWS CLI.
+ `when_required`: a validação da soma de verificação da carga útil da resposta é realizada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço compatível com a AWS CLI, e você define o `requestValidationModeMember` modelado como `ENABLED` na entrada da operação.

```
response_checksum_validation = when_supported
```
A variável de ambiente [`AWS_RESPONSE_CHECKSUM_VALIDATION`](cli-configure-envvars.md#envvars-list-AWS_RESPONSE_CHECKSUM_VALIDATION) sobrescreve essa configuração.

**`retry\$1mode`**  
Especifica qual modo de repetição a AWS CLI utiliza. Existem três modos de nova tentativa disponíveis: `standard` (padrão), `legacy` (padrão) e `adaptive`. Para obter mais informações sobre novas tentativas, consulte [A AWS CLI tenta novamente na AWS CLI](cli-configure-retries.md).  
Você pode substituir esse valor usando a variável de ambiente `AWS_RETRY_MODE`.  

```
retry_mode = standard
```

**`role\$1arn`**  
Especifica o nome do recurso da Amazon (ARN) de uma função do IAM que você deseja usar para executar os comandos da AWS CLI. Também é necessário especificar um dos seguintes parâmetros para identificar as credenciais que têm permissão para assumir essa função:  
+ source\$1profile
+ credential\$1source

```
role_arn = arn:aws:iam::123456789012:role/role-name
```
A variável de ambiente [`AWS_ROLE_ARN`](cli-configure-envvars.md#envvars-list-AWS_ROLE_ARN) sobrescreve essa configuração.  
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).

**`role\$1session\$1name`**  
Especifica o nome a ser associado à sessão da função. Esse valor é fornecido ao parâmetro `RoleSessionName` quando a AWS CLI chama a operação `AssumeRole` e se torna parte do ARN do usuário da função assumida: ` arn:aws:sts::123456789012:assumed-role/role_name/role_session_name`. Esse parâmetro é opcional. Se você não fornecer esse valor, um nome de sessão será gerado automaticamente. Esse nome aparece nos logs do AWS CloudTrail para entradas associadas a essa sessão.  

```
role_session_name = maria_garcia_role
```
A variável de ambiente [`AWS_ROLE_SESSION_NAME`](cli-configure-envvars.md#envvars-list-AWS_ROLE_SESSION_NAME) sobrescreve essa configuração.  
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).

**`services`**  
Especifica a configuração de serviço a ser usada em seu perfil.   

```
[profile dev-s3-specific-and-global]
endpoint_url = http://localhost:1234
services = s3-specific

[services s3-specific]
s3 = 
  endpoint_url = http://localhost:4567
```
Para obter mais informações sobre a seção `services`, consulte [Tipo de seção: `services`](#cli-configure-files-format-services).  
A variável de ambiente [`AWS_ROLE_SESSION_NAME`](cli-configure-envvars.md#envvars-list-AWS_ROLE_SESSION_NAME) sobrescreve essa configuração.  
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).

**`sdk_ua_app_id`**  
Uma única Conta da AWS pode ser usada por várias aplicações de clientes para fazer chamadas para Serviços da AWS. O ID da aplicação identifica qual aplicação de origem fez um conjunto de chamadas usando um AWS service (Serviço da AWS). AWS Os SDKs e os serviços não usam nem interpretam esse valor a não ser para trazê-lo de volta às comunicações com os clientes. Por exemplo, esse valor pode ser incluído em e-mails operacionais para identificar com exclusividade quais das suas aplicações estão associadas à notificação.  
O ID da aplicação é uma string com comprimento máximo de 50 caracteres. Os caracteres permitidos incluem letras, números e os seguintes caracteres especiais: `! $ % & * + - . , ^ _ ` | ~` Por padrão, nenhum valor é atribuído.   

```
sdk_ua_app_id = prod1
```
Essa configuração pode ser substituída usando a variável de ambiente [`AWS_SDK_UA_APP_ID`](cli-configure-envvars.md#envvars-list-AWS_SDK_UA_APP_ID). Você não pode definir esse valor como um parâmetro de linha de comando.

**`sigv4a_signing_region_set`**  
Especifica as regiões a serem usadas ao assinar com SigV4a usando uma lista delimitada por vírgulas. Se essa variável não for definida, a AWS CLI usará o padrão utilizado pelo AWS service (Serviço da AWS). Se o AWS service (Serviço da AWS) não tiver um padrão, a assinatura da solicitação se tornará válida em todas as regiões usando um valor de `*`.  

```
sigv4a_signing_region_set = us-west-2, us-east-1
```
Consulte mais informações sobre o SigV4a em [AWSSignature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*  
Essa configuração pode ser substituída usando a variável de ambiente [`AWS_SIGV4A_SIGNING_REGION_SET`](cli-configure-envvars.md#envvars-list-AWS_SIGV4A_SIGNING_REGION_SET). Você não pode definir esse valor como um parâmetro de linha de comando.

**`source\$1profile`**  
Especifica um perfil nomeado com credenciais de longo prazo que a AWS CLI pode usar para assumir uma função que você especificou com o parâmetro `role_arn`. Não é possível especificar `source_profile` e `credential_source` no mesmo perfil.  

```
source_profile = production-profile
```

**`sso\$1account\$1id`**  
Especifica o ID da conta da AWS que contém o perfil do IAM com a permissão que você deseja conceder ao usuário associado do IAM Identity Center.  
Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.  

```
sso_account_id = 123456789012
```

**`sso\$1region` **  
Especifica a região da AWS que contém o host do portal de acesso da AWS. Isso é separado e pode ser uma região diferente do parâmetro padrão `region` da CLI.  
Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.  

```
sso_region = us_west-2
```

**`sso\$1registration\$1scopes` **  
Uma lista delimitada por vírgulas de escopos a serem autorizados para `sso-session`. Os escopos autorizam o acesso aos endpoints autorizados portadores do token do IAM Identity Center. Um escopo válido é uma string, como `sso:account:access`. Essa configuração não é aplicável à configuração herdada não atualizável.  

```
sso_registration_scopes = sso:account:access
```

**`sso\$1role\$1name` **  
Especifica o nome amigável da função do IAM que define as permissões do usuário ao usar esse perfil.   
Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.  

```
sso_role_name = ReadAccess
```

**`sso\$1start\$1url`**  
Especifica o URL que aponta para o portal de acesso da AWS da organização. A AWS CLI usa esse URL a fim de estabelecer uma sessão no serviço do IAM Identity Center para autenticar os respectivos usuários. Para encontrar o URL do portal de acesso da AWS, use um dos seguintes procedimentos:  
+ Abra seu e-mail de convite, onde o URL do portal de acesso da AWS está listado.
+ Abra o console do Centro de Identidade do AWS IAM em [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/). O URL do portal de acesso da AWS está listado em suas configurações.
Essa configuração não tem uma variável de ambiente nem uma opção de linha de comando.   

```
sso_start_url = https://my-sso-portal.awsapps.com/start
```

**`use_dualstack_endpoint`**  
Permite o uso de endpoints de pilha dupla para enviar solicitações da AWS. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte [Usar endpoints de pilha dupla do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) no *Guia do usuário do Amazon Simple Storage Service*. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. As configurações válidas são `true` e `false`. Ela fica desabilitada por padrão. Para obter mais informações, consulte [Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-dual-stack).  
 Isso é mutuamente exclusivo com a configuração `use_accelerate_endpoint`.  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`use_fips_endpoint`**  
Alguns serviços da AWS oferecem endpoints compatíveis com o [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) em algumas Regiões da AWS. Quando o serviço da AWS é compatível com o FIPS, essa configuração especifica qual endpoint do FIPS a AWS CLI deve usar. Ao contrário dos endpoints-padrão da AWS, os endpoints do FIPS usam uma biblioteca de software TLS compatível com o FIPS 140-2. Esses endpoints podem ser necessários por empresas que interagem com o governo dos Estados Unidos. Consulte mais informações em [Definido para usar endpoints FIPs para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-fips).  
Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em sua Região da AWS, o comando AWS poderá falhar. Nesse caso, especifique manualmente o endpoint a ser usado no comando usando a opção `--endpoint-url` ou use [endpoints específicos do serviço](cli-configure-endpoints.md#endpoints-service-specific).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`web\$1identity\$1token\$1file`**  
Especifica o caminho para um arquivo que contém um token de acesso OAuth 2.0 ou token de ID OpenID Connect fornecido por um provedor de identidade. A AWS CLI carrega o conteúdo desse arquivo e o transmite como o argumento `WebIdentityToken` para a operação `AssumeRoleWithWebIdentity`.  
A variável de ambiente `AWS\$1WEB\$1IDENTITY\$1TOKEN\$1FILE` sobrescreve essa configuração.  
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).

**`tcp_keepalive`**  
Especifica se o cliente de AWS CLI usará pacotes keep-alive de TCP.  
Essa entrada não tem uma variável de ambiente equivalente nem uma opção de linha de comando.  

```
tcp_keepalive = false
```

### Configurações de comando personalizadas do S3
<a name="cli-configure-files-s3"></a>

O Amazon S3 oferece suporte a várias configurações que definem como a AWS CLI executa operações do Amazon S3. Algumas se aplicam a todos os comandos do S3 nos namespaces `s3api` e `s3`. Outras são especificamente para o comandos “personalizados” do S3 que abstraem operações comuns e fazem mais do que um mapeamento individual para uma operação de API. Os comandos de transferência `aws s3` `cp`, `sync`, `mv` e `rm` têm configurações adicionais que você pode usar para controlar as transferências do S3. 

Todas essas opções podem ser configuradas especificando a configuração `s3` aninhada em seu arquivo `config`. Depois, cada configuração é recuada em sua própria linha. 

**nota**  
Essas configurações são totalmente opcionais. Você deve ser capaz de usar com êxito os comandos de transferência `aws s3` sem definir nenhuma dessas configurações. Essas configurações são fornecidas para permitir que você ajuste a performance ou considere o ambiente específico no qual está executando esses comandos `aws s3`.

Essas configurações são todas definidas em uma chave `s3` de nível superior no arquivo `config`, conforme mostrado no exemplo a seguir para o perfil `development`.

```
[profile development]
s3 =
  max_concurrent_requests = 20
  max_queue_size = 10000
  multipart_threshold = 64MB
  multipart_chunksize = 16MB
  max_bandwidth = 50MB/s
  use_accelerate_endpoint = true
  addressing_style = path
```

As configurações a seguir se aplicam a qualquer comando do S3 nos namespaces `s3` ou `s3api`.

**`addressing_style`**  
Especifica qual estilo de endereçamento usar. Isso controla se o nome do bucket está no nome do host ou em parte do URL. Os valores válidos são: `path`, `virtual` e `auto`. O valor padrão é `auto`.  
Há dois estilos de criação de um endpoint do Amazon S3. O primeiro é chamado `virtual` e inclui o nome do bucket como parte do nome do host. Por exemplo: `https://bucketname.s3.amazonaws.com`. Como alternativa, com o estilo `path`, você trata o nome do bucket como se fosse um caminho no URI. Por exemplo, `https://s3.amazonaws.com/bucketname`. O valor padrão na CLI é usar `auto`, que tentará empregar o estilo `virtual` onde puder, mas voltará para o estilo `path` quando necessário. Por exemplo, se o nome do bucket não for compatível com DNS, ele não poderá fazer parte do nome do host e deverá estar no caminho. Com `auto`, a CLI detectará essa condição e alternará automaticamente para o estilo `path`. Se você definir o estilo de endereçamento como `path`, garanta que a região da AWS que você configurou na AWS CLI corresponda à região do bucket.

**`payload_signing_enabled`**  
Especifica se o SHA256 deverá assinar cargas sigv4. Por padrão, ele fica desativado para uploads de streaming (`UploadPart` e `PutObject`) ao usar HTTPS. Por padrão, esse valor é definido como `false` para uploads de streaming (`UploadPart` e `PutObject`), mas somente se um `ContentMD5` estiver presente (é gerado por padrão) e o endpoint usar HTTPS.  
Se definido como true, as solicitações do S3 receberão validação de conteúdo adicional na forma de uma soma de verificação SHA256 que é calculada para você e será incluída na assinatura da solicitação. Se for definido como false, a soma de verificação não será calculada. Desativar essa opção poderá ser útil para reduzir a sobrecarga de performance criada pela soma da soma de verificação. 

**`use_accelerate_endpoint`**  
Use o endpoint Amazon S3 Accelerate para todos os comandos `s3` e `s3api`. O valor padrão é falso. Isso é mutuamente exclusivo com a configuração `use_dualstack_endpoint`.   
Se definido como true, a AWS CLI direcionará todas as solicitações do Amazon S3 para o endpoint `s3-accelerate.amazonaws.com` em `S3 Accelerate`. Para usar esse endpoint, é necessário ativar o bucket para usar o `S3 Accelerate`. Todas as solicitações são enviadas usando o estilo virtual de endereçamento de bucket: .: `my-bucket.s3-accelerate.amazonaws.com`. As solicitações `ListBuckets`, `CreateBucket` e `DeleteBucket ` não são enviadas ao endpoint do S3 Accelerate porque esse endpoint não oferece suporte a essas operações. Esse comportamento também poderá ser definido se o parâmetro `--endpoint-url` estiver definido como `https://s3-accelerate.amazonaws.com` ou `http://s3-accelerate.amazonaws.com` para qualquer comando `s3` ou `s3api`.

**`use_dualstack_endpoint`**  
Permite o uso de endpoints de pilha dupla para enviar solicitações de `s3` e `s3api`. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte [Usar endpoints de pilha dupla do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) no *Guia do usuário do Amazon Simple Storage Service*. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. As configurações válidas são `true` e `false`. Ela fica desabilitada por padrão. Para obter mais informações, consulte [Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-dual-stack).  
 Isso é mutuamente exclusivo com a configuração `use_accelerate_endpoint`.

As seguintes configurações se aplicam somente aos comandos do conjunto de comandos do namespace `s3`.

**`max_bandwidth`**  
Especifica a largura de banda máxima que pode ser consumida para carregar e baixar dados de e para o Amazon S3. O padrão é sem limite.  
Isso limita a largura de banda máxima que os comandos do S3 podem usar para transferir dados de e para o Amazon S3. Esse valor se aplica apenas a uploads e downloads; ele não se aplica a cópias nem as exclui. O valor é expresso em bytes por segundo. O valor pode ser especificado como:  
+ Um valor inteiro. Por exemplo, `1048576` define o uso máximo da largura de banda como 1 megabyte por segundo. 
+ Um valor inteiro seguido por um sufixo de taxa. Você pode especificar sufixos de taxa usando: `KB/s`, `MB/s` ou `GB/s`. Por exemplo, `300KB/s`, `10MB/s`. 
Em geral, recomendamos que você primeiro tente reduzir o consumo de largura de banda diminuindo `max_concurrent_requests`. Se isso não adequar o consumo de largura de banda limite para a taxa desejada, você poderá usar a configuração `max_bandwidth` para limitar ainda mais o consumo de largura de banda. Isso ocorre porque `max_concurrent_requests` controla o número de threads em execução no momento. Se, em vez disso, você baixar primeiro, `max_bandwidth` mas deixar uma configuração `max_concurrent_requests` alta, isso pode fazer com que threads tenham que esperar desnecessariamente. Isso pode levar ao excesso de consumo de recursos e tempos limite de conexão.

**`max_concurrent_requests`**  
Especifica o número máximo de solicitações simultâneas. O valor padrão é 10.  
Os comandos de transferência `aws s3` são multithread. Em um determinado momento, várias solicitações do Amazon S3 podem estar em execução. Por exemplo, quando você usa o comando `aws s3 cp localdir s3://bucket/ --recursive` para fazer upload de arquivos para um bucket do S3, a AWS CLI pode carregar os arquivos `localdir/file1`, `localdir/file2` e `localdir/file3` paralelamente. A configuração `max_concurrent_requests` especifica o número máximo de operações de transferência que podem ser executadas ao mesmo tempo.   
Talvez você precise alterar esse valor por alguns motivos:  
+ Diminuir esse valor: em alguns ambientes, o padrão de 10 solicitações simultâneas pode sobrecarregar um sistema. Isso pode causar erros de tempo limite de conexão ou diminuir a capacidade de resposta do sistema. Reduzir esse valor faz com que os comandos de transferência do S3 usem menos recursos. A desvantagem é que as transmissões do S3 podem levar mais tempo para serem concluídas. Reduzir esse valor poderá ser necessário se você usar uma ferramenta para limitar a largura de banda. 
+ Aumentar esse valor: em alguns cenários, talvez você queira que as transferências do Amazon S3 sejam concluídas com o máximo de rapidez possível, usando tanta largura de banda de rede quanto necessário. Nesse cenário, o número padrão de solicitações simultâneas pode não ser suficiente para utilizar toda a largura de banda de rede disponível. O aumento desse valor pode melhorar o tempo necessário para concluir uma transferência do Amazon S3.

**`max_queue_size`**  
Especifica o número máximo de tarefas na fila de tarefas. O valor padrão é 1000.  
A AWS CLI usa internamente um modelo que coloca na fila as tarefas do Amazon S3 que, em seguida, são executadas por consumidores cujos números são limitados por `max_concurrent_requests`. Em geral, uma tarefa é mapeada para uma única operação do Amazon S3. Por exemplo, a tarefa pode ser `PutObjectTask`, `GetObjectTask` ou `UploadPartTask`. A taxa na qual as tarefas são adicionadas à fila pode ser muito mais rápida do que a taxa na qual os consumidores concluem as tarefas. Para evitar o crescimento não vinculado, o tamanho da fila de tarefas é limitada a um tamanho específico. Essa configuração altera o valor desse número máximo.  
Em geral, você não precisa alterar essa configuração. Essa configuração também corresponde ao número de tarefas que a AWS CLI está ciente de que precisam ser executadas. Isso significa que, por padrão, a AWS CLI só pode ver 1000 tarefas à frente. Aumentar esse valor significa que a AWS CLI pode saber com mais rapidez o número total de tarefas necessárias, supondo que a taxa de enfileiramento seja mais rápida do que a taxa de conclusão de tarefas. A desvantagem é que um max\$1queue\$1size maior requer mais memória.

**`multipart_chunksize`**  
Especifica o tamanho de bloco que a AWS CLI usa para transferências multipart de arquivos individuais. O valor padrão é de 8 MB, com um mínimo de 5 MB.  
Quando uma transferência de arquivos excede o `multipart_threshold`, a AWS CLI divide o arquivo em blocos desse tamanho. Esse valor pode ser especificado usando a mesma sintaxe que `multipart_threshold`, como o número de bytes como um número inteiro ou usando um tamanho e um sufixo.

**`multipart_threshold`**  
Especifica o limite de tamanho que a AWS CLI usa para transferências multipart de arquivos individuais. O valor padrão é de 8 MB.  
Ao carregar, baixar ou copiar um arquivo, os comandos do Amazon S3 alternarão para operações multipart se o arquivo exceder esse tamanho. É possível especificar esse valor de duas formas:  
+ O tamanho do arquivo em bytes. Por exemplo, `1048576`.
+ O tamanho do arquivo com um sufixo de tamanho. Você pode usar `KB`, `MB`, `GB` ou `TB`. Por exemplo: `10MB`, `1GB`. 
**nota**  
O S3 pode impor restrições quanto a valores válidos que podem ser usados para operações multipart. Para obter mais informações, consulte a [documentação do Carregamento fracionado do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) no *Manual do usuário do Amazon Simple Storage Service*.

# Configurar variáveis de ambiente para a AWS CLI
<a name="cli-configure-envvars"></a>

Variáveis de ambiente fornecem outra maneira de especificar opções de configuração e credenciais e podem ser úteis para criação de scripts.

**Precedência de opções**
+ Se você especificar uma opção usando uma das variáveis de ambiente descritas nesse tópico, ela substituirá qualquer valor carregado de um perfil no arquivo de configuração. 
+ Se você especificar uma opção usando um parâmetro na linha de comando da AWS CLI, ela sobrescreverá qualquer valor da variável de ambiente correspondente ou de um perfil no arquivo de configuração.

Para obter mais informações sobre precedência e como a AWS CLI determina quais credenciais usar, consulte [Como definir as configurações da AWS CLI](cli-chap-configure.md).

**Topics**
+ [

## Como definir variáveis de ambiente
](#envvars-set)
+ [

## AWS CLIVariáveis de ambiente compatíveis da
](#envvars-list)

## Como definir variáveis de ambiente
<a name="envvars-set"></a>

Os exemplos a seguir mostram como configurar variáveis de ambiente para o usuário padrão.

------
#### [ Linux or macOS ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2
```

Configurar a variável de ambiente altera o valor usado até o final da sua sessão de shell ou até que você defina a variável como um valor diferente. Você pode tornar as variáveis persistentes em sessões futuras definindo-as no script de inicialização do shell.

------
#### [ Windows Command Prompt ]

**Como definir para todas as sessões**

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_DEFAULT_REGION us-west-2
```

O uso de [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) para definir uma variável de ambiente altera o valor usado na sessão de prompt de comando atual e todas as sessões de prompt de comando que você criar após a execução do comando. ***Não*** afeta outros shells de comando que já estejam em execução no momento em que você executar o comando. Talvez seja necessário reiniciar o terminal para que as configurações sejam carregadas.

**Como definir somente para a sessão atual**

O uso de `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` para definir uma variável de ambiente altera o valor usado até o final da sessão de prompt de comando atual ou até que você defina a variável como um valor diferente. 

```
C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> set AWS_DEFAULT_REGION=us-west-2
```

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"
```

Se você definir uma variável de ambiente no prompt do PowerShell conforme mostrado nos exemplos anteriores, ela salvará o valor somente pela duração da sessão atual. Para fazer com que a configuração da variável de ambiente seja persistente em todas as sessões do prompt de comando e do PowerShell, armazene-a usando a aplicação **System (Sistema)** no **Control Panel (Painel de controle)**. Como alternativa, você pode definir a variável para todas as futuras sessões do PowerShell adicionando-a ao seu perfil do PowerShell. Consulte a documentação do [PowerShell](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables) para obter mais informações sobre como armazenar variáveis de ambiente ou como persisti-las nas sessões.

------

## AWS CLIVariáveis de ambiente compatíveis da
<a name="envvars-list"></a>

A AWS CLI é compatível com as seguintes variáveis de ambiente.

**`AWS_ACCESS_KEY_ID`**  
Especifica uma chave de acesso da AWS associada a uma conta do IAM.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `aws_access_key_id`. Você não pode especificar o ID de chave de acesso com uma opção de linha de comando.

**`AWS_ACCOUNT_ID`**  
Especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. Consulte mais informações sobre endpoints baseados em conta em [Endpoints baseados em conta](cli-configure-endpoints.md#endpoints-accountid).  
Essa configuração substitui a configuração `aws\$1account\$1id`. A variável de ambiente `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` ou a configuração `account\$1id\$1endpoint\$1mode` deve ser definida como `preferred` ou `required` para usar essa configuração.  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`AWS_ACCOUNT_ID_ENDPOINT_MODE`**  
Especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Consulte mais informações sobre endpoints baseados em conta em [Endpoints baseados em conta](cli-configure-endpoints.md#endpoints-accountid).  
Essa configuração pode ser definida como:  
+ **(padrão)** **`preferred`**: o endpoint deve incluir o ID da conta, se disponível. 
+ **`disabled`** – um endpoint resolvido não inclui o ID da conta. 
+ **`required`** – o endpoint deve incluir o ID da conta. Se o ID da conta não estiver disponível, o SDK lançará um erro.
Essa configuração substitui a configuração `account\$1id\$1endpoint\$1mode`. Para usar endpoints baseados em conta, o ID deve ser definido na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`AWS_CA_BUNDLE`**  
Especifica o caminho para um pacote de certificado a ser usado para a validação de certificado HTTPS.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `ca\$1bundle`. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando `--ca-bundle`.

**`AWS_CLI_AUTO_PROMPT`**  
Habilita o prompt automático para a AWS CLI versão 2. Há duas configurações que podem ser usadas:  
+ **`on`** usa o modo de prompt automático completo cada vez que você tenta executa um comando da `aws`. Isso inclui pressionar **ENTER** após um comando completo ou um comando incompleto.
+ **`on-partial`** usa o modo de prompt automático parcial. Se um comando estiver incompleto ou não puder ser executado devido a erros de validação do lado do cliente, o prompt automático será usado. Esse modo é útil se você tem scripts pré-existentes, runbooks ou se deseja receber o prompt automático somente para comandos com os quais você não está familiarizado, em vez de ver o prompt para todos os comandos.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `cli\$1auto\$1prompt`. Você pode sobrescrever essa variável de ambiente usando os parâmetros de linha de comando `--cli-auto-prompt` e `--no-cli-auto-prompt`.   
Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte [Habilitar e usar os prompts de comando na AWS CLI](cli-usage-parameters-prompting.md).

**`AWS_CLI_FILE_ENCODING`**  
Especifica a codificação usada para arquivos de texto. Por padrão, a codificação corresponde à sua localidade. Para definir uma codificação diferente da localidade, use a variável de ambiente `aws_cli_file_encoding`. Por exemplo, se você usar o Windows com a codificação padrão `CP1252`, a configuração de `aws_cli_file_encoding=UTF-8` definirá a CLI para abrir arquivos de texto usando `UTF-8`.

**`AWS_CLI_HISTORY_FILE`**  
Substitui o local padrão para armazenar o histórico de comandos quando o recurso `cli_history` está habilitado. O caminho padrão é . `~/.aws/cli/history/history.db`. É possível usar essa variável para especificar um local de armazenamento alternativo.

**`AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS`**  
Se os buckets de origem e destino forem os mesmos ao usar o comando `s3 mv`, o arquivo ou objeto de origem poderá ser movido para si mesmo, o que pode resultar na exclusão acidental do arquivo ou objeto de origem. A variável de ambiente `AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS` e a opção `--validate-same-s3-paths` especificam se seus ARNs de ponto de acesso ou aliases de pontos de acesso devem ser validados em seus URIs de origem ou destino do Amazon S3.  
A validação do caminho para `s3 mv` exige chamadas de API adicionais.

**`AWS_CONFIG_FILE`**  
Especifica o local do arquivo que a AWS CLI usa para armazenar perfis de configuração. O caminho padrão é . `~/.aws/config`.  
Você não pode especificar esse valor em uma configuração de perfil nomeado nem usando um parâmetro de linha de comando.

**`AWS_DATA_PATH`**  
Uma lista de diretórios adicionais a serem verificados fora do caminho de pesquisa interno do `~/.aws/models` ao carregar dados da AWS CLI. A definição dessa variável de ambiente indica os diretórios adicionais a serem verificados primeiro antes de voltar para os caminhos de pesquisa internos. Várias entradas devem ser separadas com o caractere `os.pathsep`, que é `:` no Linux ou no macOS e `;` no Windows.

**`AWS_DEFAULT_OUTPUT`**  
Especifica o [formato de saída](cli-usage-output.md) a ser usado.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `output`. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando `--output`.

**`AWS_DEFAULT_REGION`**  
O `Default region name` identifica a região da AWS dos servidores para os quais você deseja enviar suas solicitações por padrão. Normalmente, é a região mais próxima de você, mas pode ser qualquer região. Por exemplo, você pode digitar `us-west-2` para usar a região Oeste dos EUA (Oregon). Essa é a região para a qual todas as solicitações posteriores são enviadas, a menos que você especifique o contrário em um comando individual.  
Você deve especificar uma região da AWS ao usar a AWS CLI, explicitamente ou definindo uma região padrão. Para obter uma lista das regiões disponíveis, consulte [Regiões e endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html) Os designadores de região usados pela AWS CLI têm os mesmos nomes que você vê nos URLs nos endpoints de serviço do Console de gerenciamento da AWS.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `region`. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comandos `--region` e a variável de ambiente `AWS_REGION` compatível com o SDK da AWS.

**`AWS_EC2_METADATA_DISABLED`**  
Desabilita o uso do serviço de metadados da instância do Amazon EC2 (IMDS).   
Se definido como true, as credenciais do usuário ou a configuração (como a região) não são solicitadas do IMDS.

**`AWS_ENDPOINT_URL`**  
Especifica o endpoint usado para todas as solicitações de serviço. Para obter mais informações, consulte [Definir um endpoint global para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-global).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`AWS_ENDPOINT_URL_<SERVICE>`**  
Especifica um endpoint personalizado usado para um serviço específico, onde `<SERVICE>` é substituído pelo identificador AWS service (Serviço da AWS). Por exemplo, Amazon DynamoDB tem um `serviceId` do [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10). Para esse serviço, a variável de ambiente do URL do endpoint é `AWS_ENDPOINT_URL_DYNAMODB`.   
Para obter uma lista de todas as variáveis de ambiente específicas do serviço, consulte [Lista de identificadores específicos de serviço](cli-configure-endpoints.md#endpoints-service-specific-table).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS`**  
Se habilitada, a AWS CLI ignora todas as configurações personalizadas de endpoint. Os valores válidos são `true` e `false`. Para obter mais informações, consulte [Definir um endpoint global para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-global).  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. Consulte a precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**[`AWS_MAX_ATTEMPTS`](cli-configure-files.md#cli-config-max_attempts)**  
Especifica um valor para o máximo de novas tentativas utilizadas pelo manipulador de novas tentativas da AWS CLI, onde a chamada inicial conta para o valor fornecido por você. Para obter mais informações sobre novas tentativas, consulte [A AWS CLI tenta novamente na AWS CLI](cli-configure-retries.md).  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `max_attempts`.

**`AWS_METADATA_SERVICE_NUM_ATTEMPTS`**  
Ao tentar recuperar credenciais em uma instância do Amazon EC2 que foi configurada com uma função do IAM, a AWS CLI fará apenas uma tentativa para recuperar as credenciais do serviço de metadados da instância antes de interromper. Se souber que seus comandos serão executados em uma instância do Amazon EC2, você poderá aumentar esse valor para possibilitar que a AWS CLI faça várias tentativas antes de desistir.

**`AWS_METADATA_SERVICE_TIMEOUT`**  
O número de segundos antes de uma conexão ao serviço de metadados da instância atingir o tempo limite. Ao tentar recuperar credenciais em uma instância do Amazon EC2 que foi configurada com uma função do IAM, por padrão uma conexão ao serviço de metadados da instância atingirá o tempo limite depois de um segundo. Se souber que está executando em uma instância do Amazon EC2 com uma função do IAM configurada, você poderá aumentar esse valor, se necessário.

**[`AWS_PAGER`](cli-configure-files.md#cli-config-cli_pager)**  
Especifica o programa de paginação usado para saída. Por padrão, a AWS CLI versão 2 retorna toda a saída pelo programa de paginação padrão do sistema operacional.  
Para desabilitar todos os usos de um programa de paginação externo, defina a variável como uma string vazia.   
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `cli_pager`.

**[`AWS_PROFILE`](cli-configure-files.md#cli-configure-files-using-profiles)**  
Especifica o nome do perfil da AWS CLI com as credenciais e as opções a serem usadas. Esse pode ser o nome de um perfil armazenado em um arquivo `credentials` ou `config` ou o valor `default` para usar o perfil padrão.   
Se você especificar essa variável de ambiente, ela substituirá o comportamento de usar o perfil nomeado `[default]` no arquivo de configuração. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando `--profile`.

**`AWS_REGION`**  
A variável de ambiente compatível com o AWS SDK que especifica a região da AWS para a qual enviar a solicitação.  
Se definida, essa variável de ambiente substituirá os valores da variável de ambiente `AWS_DEFAULT_REGION` e a configuração do perfil `region`. Você pode substituir essa variável de ambiente usando o parâmetro de linha de comando `--region`.

**`AWS_REQUEST_CHECKSUM_CALCULATION`**  
Especifica quando uma soma de verificação é calculada para cargas úteis de solicitação e tem as seguintes opções:   
+ `when_supported`: **(padrão)** a soma de verificação da carga útil da solicitação é calculada quando uma operação especifica um algoritmo de soma de verificação em seu modelo de serviço ou solicita somas de verificação da solicitação.
+ `when_required`: a soma de verificação da carga útil da solicitação é calculada quando uma operação exige somas de verificação de solicitação ou quando um usuário fornece um `requestAlgorithmMember` que é modelado pelo AWS service (Serviço da AWS).
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`request_checksum_calculation`](cli-configure-files.md#cli-config-request_checksum_calculation).

**`AWS_RESPONSE_CHECKSUM_VALIDATION`**  
Especifica quando a validação da soma de verificação é realizada para cargas úteis de resposta e tem as seguintes opções:   
+ `when_supported`: **(padrão)** a validação da soma de verificação da carga útil da resposta é executada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço que seja compatível com a AWS CLI.
+ `when_required`: a validação da soma de verificação da carga útil da resposta é realizada quando uma operação especifica um algoritmo de resposta em seu modelo de serviço compatível com a AWS CLI, e você define o `requestValidationModeMember` modelado como `ENABLED` na entrada da operação.
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`response_checksum_validation`](cli-configure-files.md#cli-config-response_checksum_validation).

**[`AWS_RETRY_MODE`](cli-configure-files.md#cli-config-retry_mode)**  
Especifica qual modo de repetição a AWS CLI utiliza. Existem três modos de repetição disponíveis: herdado (o modo usado por padrão), padrão e adaptive. Para obter mais informações sobre novas tentativas, consulte [A AWS CLI tenta novamente na AWS CLI](cli-configure-retries.md).  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `retry_mode`.

**`AWS_ROLE_ARN`**  
Especifica o nome do recurso da Amazon (ARN) de uma função do IAM com um provedor de identidade da Web que você deseja usar para executar os comandos da AWS CLI.  
Usado com as variáveis de ambiente `AWS_WEB_IDENTITY_TOKEN_FILE` e `AWS_ROLE_SESSION_NAME`.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`role_arn`](cli-configure-files.md#cli-config-role_arn). Você não pode especificar um nome de sessão de função como um parâmetro de linha de comando.  
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).

**`AWS_ROLE_SESSION_NAME`**  
Especifica o nome a ser associado à sessão da função. Esse valor é fornecido ao parâmetro `RoleSessionName` quando a AWS CLI chama a operação `AssumeRole` e se torna parte do ARN do usuário da função assumida: ` arn:aws:sts::123456789012:assumed-role/role_name/role_session_name`. Esse parâmetro é opcional. Se você não fornecer esse valor, um nome de sessão será gerado automaticamente. Esse nome aparece nos logs do AWS CloudTrail para entradas associadas a essa sessão.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`role_session_name`](cli-configure-files.md#cli-config-role_session_name).  
Usado com as variáveis de ambiente `AWS_ROLE_ARN` e `AWS_WEB_IDENTITY_TOKEN_FILE`.  
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).  
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.

**`AWS_SDK_UA_APP_ID`**  
Uma única Conta da AWS pode ser usada por várias aplicações de clientes para fazer chamadas para Serviços da AWS. O ID da aplicação identifica qual aplicação de origem fez um conjunto de chamadas usando um AWS service (Serviço da AWS). AWS Os SDKs e os serviços não usam nem interpretam esse valor a não ser para trazê-lo de volta às comunicações com os clientes. Por exemplo, esse valor pode ser incluído em e-mails operacionais para identificar com exclusividade quais das suas aplicações estão associadas à notificação.  
Por padrão, não há valor.  
O ID da aplicação é uma string com comprimento máximo de 50 caracteres. Os caracteres permitidos incluem letras, números e os seguintes caracteres especiais:   

```
! $ % & * + - . , ^ _ ` | ~
```
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`sdk_ua_app_id`](cli-configure-files.md#cli-config-sdk_ua_app_id). Você não pode especificar o ID da aplicação como uma opção de linha de comando.

**`AWS_SECRET_ACCESS_KEY`**  
Especifica a chave secreta associada à chave de acesso. Essencialmente, essa é a “senha” para a chave de acesso.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `aws_secret_access_key`. Você não pode especificar o ID chave de acesso secreta como uma opção de linha de comando.

**`AWS_SESSION_TOKEN`**  
Especifica o valor de token de sessão que é necessário se você estiver usando credenciais de segurança temporárias recuperadas diretamente das operações do AWS STS. Para obter mais informações, consulte a [Seção de saída do comando assume-role](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html#output) na *Referência de comandos da AWS CLI*.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `aws_session_token`.

**`AWS_SHARED_CREDENTIALS_FILE`**  
Especifica o local do arquivo que a AWS CLI usa para armazenar chaves de acesso. O caminho padrão é . `~/.aws/credentials`.  
Você não pode especificar esse valor em uma configuração de perfil nomeado nem usando um parâmetro de linha de comando.

**`AWS_SIGV4A_SIGNING_REGION_SET`**  
Especifica as regiões a serem usadas ao assinar com SigV4a usando uma lista delimitada por vírgulas. Se essa variável não for definida, a AWS CLI usará o padrão utilizado pelo AWS service (Serviço da AWS). Se o AWS service (Serviço da AWS) não tiver um padrão, a assinatura da solicitação se tornará válida em todas as regiões usando um valor de `*`.  
Consulte mais informações sobre o SigV4a em [AWSSignature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil [`sigv4a_signing_region_set`](cli-configure-files.md#cli-config-sigv4a_signing_region_set).

**`AWS_USE_DUALSTACK_ENDPOINT`**  
Permite o uso de endpoints de pilha dupla para enviar solicitações da AWS. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte [Usar endpoints de pilha dupla do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) no *Guia do usuário do Amazon Simple Storage Service*. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. Ela fica desabilitada por padrão. Para obter mais informações, consulte [Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-dual-stack).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**`AWS_USE_FIPS_ENDPOINT`**  
Alguns serviços da AWS oferecem endpoints compatíveis com o [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) em algumas Regiões da AWS. Quando o serviço da AWS é compatível com o FIPS, essa configuração especifica qual endpoint do FIPS a AWS CLI deve usar. Ao contrário dos endpoints-padrão da AWS, os endpoints do FIPS usam uma biblioteca de software TLS compatível com o FIPS 140-2. Esses endpoints podem ser necessários por empresas que interagem com o governo dos Estados Unidos. Consulte mais informações em [Definido para usar endpoints FIPs para todos os Serviços da AWS](cli-configure-endpoints.md#endpoints-fips).  
Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em sua Região da AWS, o comando AWS poderá falhar. Nesse caso, especifique manualmente o endpoint a ser usado no comando usando a opção `--endpoint-url` ou use [endpoints específicos do serviço](cli-configure-endpoints.md#endpoints-service-specific).  
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**[`AWS_WEB_IDENTITY_TOKEN_FILE`](#cli-configure-envvars)**  
Especifica o caminho para um arquivo que contém um token de acesso OAuth 2.0 ou token de ID OpenID Connect fornecido por um provedor de identidade. A AWS CLI carrega o conteúdo desse arquivo e o transmite como o argumento `WebIdentityToken` para a operação `AssumeRoleWithWebIdentity`.  
Usado com as variáveis de ambiente `AWS_ROLE_ARN` e `AWS_ROLE_SESSION_NAME`.  
Se definida, essa variável de ambiente sobrescreverá o valor da configuração de perfil `web_identity_token_file`.   
Para obter mais informações sobre o uso de identidades da Web, consulte [Assumir a função com a identidade da web](cli-configure-role.md#cli-configure-role-oidc).  
Essa variável de ambiente se aplica somente a uma função assumida com o provedor de identidade da Web, mas não se aplica à configuração do provedor de função assumida geral.

# Opções da linha de comando na AWS CLI
<a name="cli-configure-options"></a>

Na AWS CLI, as opções de linha de comando são parâmetros globais que você pode usar para substituir as configurações padrão, qualquer configuração de perfil correspondente ou a configuração de variável de ambiente para esse único comando. Você não pode usar opções de linha de comando para especificar diretamente credenciais, embora seja possível especificar qual perfil usar. 

**Topics**
+ [

## Como usar as opções de linha de comando
](#cli-configure-options-how)
+ [

## AWS CLIA comporta opções de linha de comando globais
](#cli-configure-options-list)
+ [

## Usos comuns das opções de linha de comando
](#cli-configure-options-common)

## Como usar as opções de linha de comando
<a name="cli-configure-options-how"></a>

As opções de linha de comando são, na maioria, strings simples, como o nome do perfil `profile1` no exemplo a seguir:

```
$ aws s3 ls --profile profile1
amzn-s3-demo-bucket1
amzn-s3-demo-bucket2
...
```

Cada opção que obtém um argumento requer com um espaço ou sinal de igual (=) separando o argumento do nome da opção. Se o valor do argumento for uma string que contenha um espaço, coloque o argumento entre aspas. Para obter detalhes sobre tipos de argumento e formatação de parâmetros, consulte [Especificar valores de parâmetro na AWS CLI](cli-usage-parameters.md).

## AWS CLIA comporta opções de linha de comando globais
<a name="cli-configure-options-list"></a>

Na AWS CLI, você pode usar as opções de linha de comando a seguir para substituir as configurações padrão, qualquer configuração de perfil correspondente ou a configuração de variável de ambiente para esse único comando. 

**--ca-bundle *<string>***  
Especifica o pacote de certificados da autoridade de certificação (CA) a ser usado ao verificar certificados SSL.   
Se definida, essa opção substituirá o valor da configuração de perfil `ca\$1bundle` e `AWS\$1CA\$1BUNDLE` da variável de ambiente.

**--cli-auto-prompt**  
Habilita o modo de prompt automático para um único comando. Conforme mostrado nos exemplos a seguir, você pode especificá-lo a qualquer momento.  

```
$ aws --cli-auto-prompt
$ aws dynamodb --cli-auto-prompt
$ aws dynamodb describe-table --cli-auto-prompt
```
Essa opção substituirá o valor da variável de ambiente `aws\$1cli\$1auto\$1prompt` e da configuração de perfil `cli\$1auto\$1prompt`.  
Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte [Habilitar e usar os prompts de comando na AWS CLI](cli-usage-parameters-prompting.md).

**--cli-binary-format**  
Especifica como a AWS CLI versão 2 interpreta parâmetros de entrada binários. Pode ter um dos valores a seguir:  
+ **base64**: o valor padrão. Um parâmetro de entrada que é digitado como um objeto grande binário (BLOB) aceita uma string codificada em base64. Para passar conteúdo binário verdadeiro, coloque o conteúdo em um arquivo e forneça o caminho e o nome do arquivo com o prefixo `fileb://` como o valor do parâmetro. Para passar um texto codificado em base64 contido em um arquivo, forneça o caminho e o nome do arquivo com o prefixo `file://` como o valor do parâmetro.
+ **raw-in-base64-out**: padrão para a AWS CLI versão 1. Se o valor da configuração for `raw-in-base64-out`, os arquivos referenciados usando o prefixo `file://` serão lidos como texto e, então, a AWS CLI tenta codificá-lo em binário.
Isso substitui o arquivo de configuração `cli\$1binary\$1format`.  

```
$ aws lambda invoke \
    --cli-binary-format raw-in-base64-out \
    --function-name my-function \
    --invocation-type Event \
    --payload '{ "name": "Bob" }' \
    response.json
```
Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo `fileb://`, a AWS CLI *sempre* esperará que o arquivo tenha um conteúdo binário bruto e não tentará converter o valor.   
Se você fizer referência a um valor binário em um arquivo usando a notação de prefixo `file://`, a AWS CLI tratará o arquivo de acordo com a configuração `cli_binary_format` atual. Se o valor dessa configuração for `base64` (o padrão quando não é definido explicitamente), a AWS CLI esperará que o arquivo contenha texto codificado em base64. Se o valor dessa configuração for `raw-in-base64-out`, a AWS CLI esperará que o arquivo tenha conteúdo binário bruto.

**--cli-connect-timeout *<integer>***  
Especifica o tempo de conexão de soquete máximo em segundos. Se o valor for definido como zero (0), a conexão de soquete aguardará indefinidamente (será bloqueada) e não atingirá o tempo limite. O valor padrão é de 60 segundos.

**--cli-read-timeout *<integer>***  
Especifica o tempo de leitura de soquete máximo em segundos. Se o valor for definido como zero (0), a leitura do soquete aguardará indefinidamente (será bloqueada) e não atingirá o tempo limite. O valor padrão é de 60 segundos.

**--color *<string>***  
Especifica o suporte para saída de cores. Os valores válidos são `on`, `off` e `auto`. O valor padrão é `auto`.

**--debug**  
Uma operação booliana que ativa o registro em log de depuração. Por padrão, a AWS CLI fornece informações limpas sobre quaisquer sucessos ou falhas em relação aos resultados do comando na saída do comando. A opção `--debug` fornece os logs completos do Python. Isso inclui informações adicionais de diagnóstico de `stderr` sobre a operação do comando que podem ser úteis para a solução de problemas de um comando que gera resultados inesperados. Para visualizar facilmente os logs de depuração, sugerimos enviar os logs para um arquivo para que seja possível pesquisar as informações de forma mais fácil. Isso pode ser feito de uma das formas a seguir.  
Para enviar **somente** as informações de diagnóstico de `stderr`, anexe `2> debug.txt`, onde `debug.txt` é o nome que você deseja usar para o seu arquivo de depuração:  

```
$ aws servicename commandname options --debug 2> debug.txt
```
Para enviar **ambas** a saída e as informações de diagnóstico de `stderr`, anexe `&> debug.txt`, onde `debug.txt` é o nome que você deseja usar para o seu arquivo de depuração:  

```
$ aws servicename commandname options --debug &> debug.txt
```

**--endpoint-url *<string>***  
Especifica o URL para o qual enviar a solicitação. Para a maioria dos comandos, a AWS CLI determina automaticamente o URL com base no serviço selecionado e na região da AWS especificada. No entanto, alguns comandos exigem que você especifique um URL específico para a conta. Você também pode configurar alguns serviços da AWS para [hospedar um endpoint diretamente dentro de sua VPC privada](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), que talvez precise ser especificada.   
O exemplo de comando a seguir usa um URL personalizado do endpoint do Amazon S3.  

```
$ aws s3 ls --endpoint-url http://localhost:4567
```
**Precedência de endpoints**  
As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. A AWS CLI verifica essas configurações de endpoint em uma ordem específica e usa a configuração de endpoint com a maior precedência. Consulte a lista de precedência de endpoints em [Precedência de configurações e definições do endpoint](cli-configure-endpoints.md#endpoints-precedence).

**--no-cli-auto-prompt**  
Desabilita o modo de prompt automático para um único comando.  

```
$ aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt
```
Essa opção substituirá o valor da variável de ambiente `aws\$1cli\$1auto\$1prompt` e da configuração de perfil `cli\$1auto\$1prompt`.  
Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte [Habilitar e usar os prompts de comando na AWS CLI](cli-usage-parameters-prompting.md).

**--no-cli-pager**  
Uma opção booleana que desabilita o uso de uma paginação para a saída do comando.

**--no-paginate**  
Uma opção booleana que desabilita as chamadas múltiplas que a AWS CLI faz automaticamente para receber todos os resultados de comandos que criam a paginação da saída. Isso significa que apenas a primeira página da sua saída é exibida.

**--no-sign-request**  
Uma operação booliana que desativa a assinatura de solicitações HTTP para o endpoint de serviço da AWS. Isso evita que as credenciais sejam carregadas.

**--no-verify-ssl**  
Por padrão, a AWS CLI usa SSL ao se comunicar com serviços da AWS. Para cada chamada e conexão SSL, a AWS CLI verifica os certificados SSL. O uso dessa opção substitui o comportamento padrão de verificação de certificados SSL.   
Essa opção **não** é uma prática recomendada. Se você usa `--no-verify-ssl`, o tráfego entre seu cliente e os serviços da AWS não está mais protegido. Isso significa que o tráfego é um risco de segurança e está vulnerável a explorações man-in-the-middle. Se estiver tendo problemas com certificados, é melhor resolvê-los. Para ver as etapas de resolução de problemas de certificados, consulte [Erros de certificado SSL](cli-chap-troubleshooting.md#tshoot-certificate-verify-failed). 

**--output *<string>***  
Especifica o formato de saída a ser usado para este comando. Você pode especificar qualquer um dos seguintes valores:  
+ **[`json`](cli-usage-output-format.md#json-output)**: a saída é formatada como uma string [JSON](https://json.org/).
+  **[`yaml`](cli-usage-output-format.md#yaml-output)**: a saída é formatada como uma string [YAML](https://yaml.org/).
+ **[`yaml-stream`](cli-usage-output-format.md#yaml-stream-output)**: a saída é transmitida e formatada como uma string [YAML](https://yaml.org/). A transmissão possibilita um manuseio mais rápido de tipos de dados grandes.
+ **[`text`](cli-usage-output-format.md#text-output)** – a saída é formatada como várias linhas de valores de string separados por tabulação. Isso pode ser útil para passar a saída para um processador de texto, como `grep`, `sed` ou `awk`.
+ **[`table`](cli-usage-output-format.md#table-output)** – a saída é formatada como uma tabela usando os caracteres \$1\$1- para formar as bordas da célula. Geralmente, a informação é apresentada em um formato "amigável", que é muito mais fácil de ler do que outros, mas não tão útil programaticamente.
+ **[`off`](cli-usage-output-format.md#off-output)**: a saída suprime todas as saídas de comando para stdout. Isso é útil em scripts de automação e pipelines de CI/CD em que somente é necessário verificar o código de saída do comando sem processar a saída.

**--profile *<string>***  
Especifica o [perfil nomeado](cli-configure-files.md#cli-configure-files-using-profiles) para usar esse comando. Para configurar perfis nomeados adicionais, você pode usar o comando `aws configure` com a opção `--profile`.  

```
$ aws configure --profile <profilename>
```

**--query *<string>***  
Especifica uma [consulta JMESPath](https://jmespath.org/) para uso na filtragem dos dados de resposta. Para obter mais informações, consulte [Filtrar a saída na AWS CLI](cli-usage-filter.md).

**--region *<string>***  
Especifica para qual região da AWS enviar a solicitação da AWS desse comando. Para obter uma lista de todas as regiões que você pode especificar, consulte [Regiões e endpoints da AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) no *Referência geral da Amazon Web Services*.

**--version**  
Uma operação booliana que exibe a versão atual do programa de AWS CLI que está em execução.

## Usos comuns das opções de linha de comando
<a name="cli-configure-options-common"></a>

Os usos comuns das opções de linha de comando incluem a verificação de seus recursos em várias regiões da AWS e a alteração do formato de saída para legibilidade ou a facilidade de uso ao criar scripts. Nos exemplos a seguir, executamos o comando **describe-instances** em cada região até descobrirmos em qual delas nossa instância está. 

```
$ aws ec2 describe-instances --output table --region us-west-1
-------------------
|DescribeInstances|
+-----------------+
$ aws ec2 describe-instances --output table --region us-west-2
------------------------------------------------------------------------------
|                              DescribeInstances                             |
+----------------------------------------------------------------------------+
||                               Reservations                               ||
|+-------------------------------------+------------------------------------+|
||  OwnerId                            |  012345678901                      ||
||  ReservationId                      |  r-abcdefgh                        ||
|+-------------------------------------+------------------------------------+|
|||                                Instances                               |||
||+------------------------+-----------------------------------------------+||
|||  AmiLaunchIndex        |  0                                            |||
|||  Architecture          |  x86_64                                       |||
...
```

# Configurar a conclusão do comando na AWS CLI
<a name="cli-configure-completion"></a>

A AWS Command Line Interface (AWS CLI) inclui um recurso de preenchimento automático de comandos que permite usar a tecla **Tab** para concluir o preenchimento um comando inserido parcialmente. Na maioria dos sistemas, esse recurso deve ser configurado manualmente.

Para obter informações sobre o recurso de prompt automático da AWS CLI versão 2, consulte [Habilitar e usar os prompts de comando na AWS CLI](cli-usage-parameters-prompting.md).

**Topics**
+ [

## Como funciona
](#cli-command-completion-about)
+ [

## Configuração do preenchimento automático de comando no Linux ou no macOS
](#cli-command-completion-linux)
+ [

## Configuração do preenchimento de comandos no Windows
](#cli-command-completion-windows)

## Como funciona
<a name="cli-command-completion-about"></a>

Ao inserir parcialmente um comando, um parâmetro ou uma opção, o recurso de conclusão de comando conclui automaticamente o comando ou exibe uma lista sugerida de comandos. Para solicitar a conclusão de comandos, insira parcialmente um comando e pressione a tecla de conclusão, que normalmente é *Tab* na maioria dos shells.

Os exemplos a seguir mostram diferentes maneiras de usar a conclusão de comando:
+ Insira parcialmente um comando e pressione *Tab* para exibir uma lista sugerida de comandos.

  ```
  $ aws dynamodb dTAB
  delete-backup                        describe-global-table
  delete-item                          describe-global-table-settings
  delete-table                         describe-limits
  describe-backup                      describe-table
  describe-continuous-backups          describe-table-replica-auto-scaling
  describe-contributor-insights        describe-time-to-live
  describe-endpoints
  ```
+ Insira parcialmente um parâmetro e pressione *Tab* para exibir uma lista sugerida de parâmetros.

  ```
  $ aws dynamodb delete-table --TAB
  --ca-bundle              --endpoint-url           --profile              
  --cli-connect-timeout    --generate-cli-skeleton  --query                
  --cli-input-json         --no-paginate            --region               
  --cli-read-timeout       --no-sign-request        --table-name           
  --color                  --no-verify-ssl          --version              
  --debug                  --output
  ```
+ Insira um parâmetro e pressione *Tab* para exibir uma lista sugerida de valores de recursos. Esse recurso só está disponível na AWS CLI versão 2.

  ```
  $ aws dynamodb delete-table --table-name TAB
  Table 1                  Table 2                  Table 3
  ```

## Configuração do preenchimento automático de comando no Linux ou no macOS
<a name="cli-command-completion-linux"></a>

Para configurar o preenchimento automático de comandos no Linux ou macOS, você deve conhecer o nome do shell que está usando e a localização do script `aws_completer`.

**nota**  
O preenchimento do comando é configurado automaticamente e habilitado por padrão nas instâncias do Amazon EC2 que executam o Amazon Linux.

**Topics**
+ [

### Confirme se a pasta do completer está na variável path
](#cli-command-completion-path)
+ [

### Habilitar a conclusão de comando
](#cli-command-completion-enable)
+ [

### Verifique o preenchimento de comandos
](#cli-command-completion-test)

### Confirme se a pasta do completer está na variável path
<a name="cli-command-completion-path"></a>

Para o completer da AWS funcionar corretamente, o `aws_completer` deverá estar na variável path do seu shell. O comando `which` pode verificar se o completer está na variável path.

```
$ which aws_completer
/usr/local/bin/aws_completer
```

Se o comando que não conseguir encontrar o completer, use as etapas a seguir para adicionar a pasta do completer à variável PATH.

#### Etapa 1: Localizar o completer da AWS
<a name="cli-command-completion-locate"></a>

 A localização do completer da AWS pode variar, dependendo do método de instalação usado. 
+ **Gerenciador de pacotes**: programas como `pip`, `yum`, `brew` e `apt-get` normalmente instalam o completer da AWS (ou um symlink para ele) em um local que faz parte do caminho padrão. 
  + Se você usou o `pip` **sem** o parâmetro `--user`, o caminho padrão é `/usr/local/bin/aws_completer`.
  + Se você usou o `pip` **com** o parâmetro `--user`, o caminho padrão é `/home/username/.local/bin/aws_completer`.
+ **Instalador empacotado**: se você usou o instalador empacotado, o caminho padrão é `/usr/local/bin/aws_completer`.

Se tudo falhar, você poderá usar o comando `find` para pesquisar o completer da AWS em todo o seu sistema de arquivos. 

```
$ find / -name aws_completer
/usr/local/bin/aws_completer
```

#### Etapa 2: Identificar o shell
<a name="cli-command-completion-shell"></a>

Para identificar qual shell você está usando, é possível usar um dos seguintes comandos.
+ **echo \$1SHELL**: exibe o nome do arquivo do programa de shell. Isso geralmente corresponde ao nome do shell em uso, a menos que você tenha iniciado um shell diferente após fazer o login.

  ```
  $ echo $SHELL
  /bin/bash
  ```
+ **ps**: exibe os processos em execução para o usuário atual. Um deles é o shell.

  ```
  $ ps
    PID TTY          TIME CMD
   2148 pts/1    00:00:00 bash
   8756 pts/1    00:00:00 ps
  ```

#### Etapa 3: Adicionar o completer ao caminho
<a name="cli-command-completion-path-add"></a>

1. Encontre o script de perfil do shell em sua pasta de usuário.

   ```
   $ ls -a ~/
   .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
   ```
   + **Bash**: `.bash_profile`, `.profile` ou `.bash_login`
   + **Zsh**: `.zshrc`
   + **Tcsh**: `.tcshrc`, `.cshrc` ou `.login`

1. Adicione um comando de exportação ao final do script de perfil que é semelhante ao exemplo a seguir. Substitua `/usr/local/bin/` pela pasta que você descobriu na seção anterior.

   ```
   export PATH=/usr/local/bin/:$PATH
   ```

1. Recarregue o perfil na sessão atual para colocar essas alterações em vigor. Substitua `.bash_profile` pelo nome do script de shell que você descobriu na primeira seção.

   ```
   $ source ~/.bash_profile
   ```

### Habilitar a conclusão de comando
<a name="cli-command-completion-enable"></a>

Depois de confirmar que o completer está no caminho, habilite a conclusão de comando executando o comando apropriado para o shell que você está usando. Você pode adicionar o comando ao perfil do shell para executá-lo cada vez que você abrir um novo shell. Em cada comando, substitua o caminho */usr/local/bin/* pelo encontrado no seu sistema em [Confirme se a pasta do completer está na variável path](#cli-command-completion-path).
+ **`bash`** – usa o comando interno `complete`.

  ```
  $ complete -C '/usr/local/bin/aws_completer' aws
  ```

  Adicione o comando anterior ao `~/.bashrc` para executá-lo cada vez que você abrir um novo shell. O `~/.bash_profile` deve se basear em `~/.bashrc` para garantir que o comando também seja executado em shells de login.
+  **`zsh`**: para executar o preenchimento de comandos, é necessário executar `bashcompinit` adicionando a seguinte linha de carregamento automático ao final do script do perfil `~/.zshrc`.

  ```
  $ autoload bashcompinit && bashcompinit
  $ autoload -Uz compinit && compinit
  ```

  Para habilitar a conclusão de comando, use o comando interno `complete`.

  ```
  $ complete -C '/usr/local/bin/aws_completer' aws
  ```

  Adicione os comandos anteriores ao `~/.zshrc` para executá-los cada vez que você abrir um novo shell.
+  **`tcsh`**: o preenchimento para `tcsh` utiliza um tipo de palavra e padrão para definir o comportamento do preenchimento. 

  ```
  > complete aws 'p/*/`aws_completer`/'
  ```

  Adicione o comando anterior ao `~/.tcshrc` para executá-lo cada vez que você abrir um novo shell.

Depois de habilitar o preenchimento automático de comandos, [Verifique o preenchimento de comandos](#cli-command-completion-test) está funcionando.

### Verifique o preenchimento de comandos
<a name="cli-command-completion-test"></a>

Após habilitar o preenchimento de comandos, insira um comando parcial e pressione **Tab** para ver os comandos disponíveis.

```
$ aws sTAB
s3              ses             sqs             sts             swf
s3api           sns             storagegateway  support
```

## Configuração do preenchimento de comandos no Windows
<a name="cli-command-completion-windows"></a>

**nota**  
Para obter informações sobre como o PowerShell lida com a conclusão, incluindo as várias teclas de conclusão, consulte [about\$1tab\$1Expansion](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_tab_expansion) na *documentação do Microsoft PowerShell*.

Para habilitar o preenchimento de comandos para o PowerShell no Windows, conclua as etapas a seguir no PowerShell.

1. Abra o arquivo `$PROFILE` com o comando a seguir.

   ```
   PS C:\> Notepad $PROFILE
   ```

   Se você ainda não tiver um `$PROFILE`, use o procedimento a seguir para criar um perfil de usuário.

   ```
   PS C:\> if (!(Test-Path -Path $PROFILE ))
   { New-Item -Type File -Path $PROFILE -Force }
   ```

   Para obter mais informações sobre os perfis do PowerShell, consulte [Como usar perfis no Windows PowerShell ISE](https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/how-to-use-profiles-in-windows-powershell-ise) no site de *Documentação da Microsoft*.

1. Para ativar o preenchimento de comandos, adicione o seguinte bloco de código ao seu perfil, salve e, em seguida, feche o arquivo.

   ```
   Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock {
       param($commandName, $wordToComplete, $cursorPosition)
           $env:COMP_LINE=$wordToComplete
           if ($env:COMP_LINE.Length -lt $cursorPosition){
               $env:COMP_LINE=$env:COMP_LINE + " "
           }
           $env:COMP_POINT=$cursorPosition
           aws_completer.exe | ForEach-Object {
               [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
           }
           Remove-Item Env:\COMP_LINE     
           Remove-Item Env:\COMP_POINT  
   }
   ```

1. Depois de habilitar a conclusão dos comandos, recarregue o shell, insira um comando parcial e pressione **Tab** para percorrer os comandos disponíveis.

   ```
   $ aws sTab
   ```

   ```
   $ aws s3
   ```

   Para ver todos os comandos disponíveis para conclusão, insira um comando parcial e pressione **Ctrl** \$1 **Espaço**.

   ```
   $ aws sCtrl + Space
   s3              ses             sqs             sts             swf
   s3api           sns             storagegateway  support
   ```

# A AWS CLI tenta novamente na AWS CLI
<a name="cli-configure-retries"></a>

Este tópico descreve como a AWS CLI pode observar chamadas para AWS falharem devido a problemas inesperados. Esses problemas podem ocorrer no lado do servidor ou podem falhar devido à limitação de taxa do serviço da AWS que você está tentando chamar. Esses tipos de falhas geralmente não exigem tratamento especial e a chamada é feita automaticamente novamente, em geral após um breve período de espera. A AWS CLI oferece muitos recursos para ajudar a repetir chamadas de cliente para os serviços da AWS quando esses tipos de erros ou exceções ocorrem.

**Topics**
+ [

## Modos de novas tentativas disponíveis
](#cli-usage-retries-modes)
+ [

## Configuração um modo de nova tentativa
](#cli-usage-retries-configure)
+ [

## Visualização de logs de novas tentativas
](#cli-usage-retries-validate)

## Modos de novas tentativas disponíveis
<a name="cli-usage-retries-modes"></a>

**Topics**
+ [

### Modo de nova tentativa padrão (padrão)
](#cli-usage-retries-modes-standard.title)
+ [

### Modo de nova tentativa legado
](#cli-usage-retries-legacy)
+ [

### Modo de nova tentativa adaptável
](#cli-usage-retries-modes-adaptive)

### Modo de nova tentativa padrão (padrão)
<a name="cli-usage-retries-modes-standard.title"></a>

O modo `Standard` é um conjunto padrão de regras de nova tentativa nos SDKs da AWS com mais funcionalidades do que o legado e é o modo padrão para a AWS CLI. O modo padrão foi criado para a AWS CLI versão 2 e é compatível com a AWS CLI versão 1. A funcionalidade do modo padrão inclui:
+ Um valor padrão de 2 para o máximo de novas tentativas, totalizando 3 tentativas de chamada. Esse valor pode ser sobrescrito por meio do parâmetro de configuração `max_attempts`. 
+ Novas tentativas para a seguinte lista estendida de erros/exceções: 
  + Erros e exceções transientes
    + `RequestTimeout` 
    + `RequestTimeoutException` 
    + `PriorRequestNotComplete` 
    + `ConnectionError`
    + `HTTPClientError` 
  + Erros e exceções de controle de utilização ou limitação no lado do serviço:
    + `Throttling`
    + `ThrottlingException`
    + `ThrottledException`
    + `RequestThrottledException`
    + `TooManyRequestsException`
    + `ProvisionedThroughputExceededException`
    + `TransactionInProgressException` 
    + `RequestLimitExceeded` 
    + `BandwidthLimitExceeded`
    + `LimitExceededException`
    + `RequestThrottled`
    + `SlowDown`
    + `EC2ThrottledException` 
+ Novas tentativas em códigos de erro não descritivos transientes. Especificamente, estes códigos de status HTTP: 500, 502, 503, 504. 
+ Qualquer nova tentativa incluirá um recuo exponencial por um fator de base 2 para um tempo máximo de recuo de 20 segundos. 

### Modo de nova tentativa legado
<a name="cli-usage-retries-legacy"></a>

O modo `Legacy` usa um manipulador de novas tentativas mais antigo e com funcionalidade limitada, que inclui:
+ Um valor padrão de 4 para o máximo de novas tentativas, totalizando 5 tentativas de chamada. Esse valor pode ser sobrescrito por meio do parâmetro de configuração `max_attempts`. 
+ No DynamoDB, o valor padrão máximo de novas tentativas é nove, totalizando dez tentativas de chamada. Esse valor pode ser sobrescrito por meio do parâmetro de configuração `max_attempts`. 
+ Novas tentativas para o seguinte número limitado de erros e exceções:
  + Erros gerais de soquete e conexão:
    + `ConnectionError`
    + `ConnectionClosedError`
    + `ReadTimeoutError`
    + `EndpointConnectionError`
  + Erros e exceções de controle de utilização ou limitação no lado do serviço:
    + `Throttling`
    + `ThrottlingException`
    + `ThrottledException`
    + `RequestThrottledException`
    + `ProvisionedThroughputExceededException`
+ Novas tentativas em vários códigos de status HTTP, incluindo 429, 500, 502, 503, 504 e 509.
+ Qualquer tentativa de repetição incluirá um recuo exponencial por um fator de base 2. 

### Modo de nova tentativa adaptável
<a name="cli-usage-retries-modes-adaptive"></a>

**Atenção**  
O modo adaptativo é um experimental e está sujeito a modificações, tanto em suas características quanto em seu comportamento.

O modo de nova tentativa `Adaptive` é um modo de nova tentativa experimental que inclui todos os recursos do modo padrão. Além dos recursos do modo padrão, o modo adaptativo também introduz limitação de taxa no lado do cliente através do uso de um bucket de token e variáveis de limite de taxa que são atualizadas dinamicamente com cada tentativa de repetição. Esse modo oferece flexibilidade de novas tentativas no lado do cliente que se adapta à resposta de estado de erro e exceção de um serviço da AWS.

Com cada nova tentativa, o modo adaptativo modifica as variáveis de limite de taxa com base no erro, exceção ou código de status HTTP apresentado na resposta do serviço da AWS. Essas variáveis de limite de taxa são usadas para calcular uma nova taxa de chamada para o cliente. Cada resposta HTTP de exceção/erro ou não bem-sucedida (fornecida na lista acima) de um serviço da AWS atualiza as variáveis de limite de taxa à medida que as tentativas ocorrerem até alcançarem êxito, o bucket de token se esgotar ou o valor máximo de tentativas configurado ser atingido.

## Configuração um modo de nova tentativa
<a name="cli-usage-retries-configure"></a>

A AWS CLI inclui uma variedade de configurações de novas tentativas, bem como métodos de configuração a serem considerados ao criar seu objeto cliente.

### Métodos de configuração disponíveis
<a name="cli-usage-retries-configure-options"></a>

Na AWS CLI, os usuários podem configurar novas tentativas das seguintes formas:
+ Variáveis de ambiente
+ AWS CLIArquivo de configuração da 

Os usuários podem personalizar as seguintes opções de novas tentativas:
+ Modo de repetição: especifica qual modo de repetição será usado pela AWS CLI. Conforme descrito anteriormente existem três modos de repetição disponíveis: herdado (o modo usado por padrão), padrão e adaptativo. O valor padrão para a e para a AWS CLI versão 2 é padrão.
+ Máximo de tentativas: especifica um valor para o máximo de novas tentativas utilizadas pelo manipulador de novas tentativas da AWS CLI, onde a chamada inicial conta para o valor fornecido por você. O valor padrão é baseado no seu modo de repetição.

### Definição de uma configuração de novas tentativas em suas variáveis de ambiente
<a name="cli-usage-retries-configure-envvar"></a>

Para definir a configuração de novas tentativas para oAWS CLI, atualize as variáveis de ambiente do seu sistema operacional.

As variáveis de ambiente de novas tentativas são:
+ `AWS_RETRY_MODE`
+ `AWS_MAX_ATTEMPTS`

Para obter mais informações sobre variáveis de ambiente, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md).

### Definição de uma configuração de nova tentativa em seu arquivo de configuração da AWS
<a name="cli-usage-retries-configure-file"></a>

Para alterar a configuração de novas tentativas, atualize o arquivo de configuração global da AWS. O local padrão do seu arquivo de configuração da AWS é \$1/.aws/config.

Exemplo de um arquivo de configuração da AWS:

```
[default]
retry_mode = standard
max_attempts = 6
```

Para obter mais informações sobre arquivos de configuração, consulte [Configurações do arquivo de configuração e credenciais na AWS CLI](cli-configure-files.md).

## Visualização de logs de novas tentativas
<a name="cli-usage-retries-validate"></a>

A AWS CLI usa a metodologia de novas tentativas e log do Boto3. Você pode usar a opção `--debug` em qualquer comando para receber logs de depuração. Para obter informações sobre como usar a opção `--debug`, consulte [Opções da linha de comando na AWS CLI](cli-configure-options.md).

Se você procurar “retry” em seus logs de depuração, encontrará as informações de repetição de que necessita. As entradas de log do cliente para tentativas de repetição dependem do modo de repetição ativado.

**Modo herdado:**

 As mensagens de novas tentativas são geradas por botocore.retryhandler. Você verá uma de três mensagens:
+ `No retry needed`
+ `Retry needed, action of: <action_name>`
+ `Reached the maximum number of retry attempts: <attempt_number>`

**Modo padrão ou adaptativo:**

 As mensagens de novas tentativas são geradas por botocore.retries.standard. Você verá uma de três mensagens:
+ `No retrying request` 
+ `Retry needed, retrying request after delay of: <delay_value>`
+ `Retry needed but retry quota reached, not retrying request`

Para obter o arquivo de definição completa de novas tentativas do botocore, consulte [\$1retry.json](https://github.com/boto/botocore/blob/develop/botocore/data/_retry.json)no *Repositório do botocore no GitHub*.

# Uso de um proxy HTTP para a AWS CLI
<a name="cli-configure-proxy"></a>

Para acessar a AWS por meio de servidores de proxy, é possível configurar as variáveis de ambiente `HTTP_PROXY` e `HTTPS_PROXY` com os nomes de domínio DNS ou endereços IP e números de porta usados pelos servidores de proxy.

**Topics**
+ [

## Como usar os exemplos da
](#cli-configure-proxy-using)
+ [

## Autenticar para um proxy
](#cli-configure-proxy-auth)
+ [

## Uso de proxy em instâncias do Amazon EC2
](#cli-configure-proxy-ec2)
+ [

## Solução de problemas
](#cli-configure-proxy-tshoot)

## Como usar os exemplos da
<a name="cli-configure-proxy-using"></a>

**nota**  
Os exemplos a seguir mostram o nome da variável de ambiente com todas as letras maiúsculas. No entanto, se você especificar uma variável duas vezes usando letras maiúsculas e minúsculas, as minúsculas terão precedência. Recomendamos que você defina cada variável somente uma vez para evitar confusão e comportamento inesperado do sistema.

Os exemplos a seguir mostram como você pode usar o endereço IP explícito do proxy ou um nome de DNS que seja resolvido para o endereço IP do proxy. Também pode ser seguido por uma vírgula e o número da porta para a qual as consultas devem ser enviadas.

------
#### [ Linux or macOS ]

```
$ export HTTP_PROXY=http://10.15.20.25:1234
$ export HTTP_PROXY=http://proxy.example.com:1234
$ export HTTPS_PROXY=http://10.15.20.25:5678
$ export HTTPS_PROXY=http://proxy.example.com:5678
```

------
#### [ Windows Command Prompt ]

**Como definir para todas as sessões**

```
C:\> setx HTTP_PROXY http://10.15.20.25:1234
C:\> setx HTTP_PROXY http://proxy.example.com:1234
C:\> setx HTTPS_PROXY http://10.15.20.25:5678
C:\> setx HTTPS_PROXY http://proxy.example.com:5678
```

O uso de [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) para definir uma variável de ambiente altera o valor usado na sessão de prompt de comando atual e todas as sessões de prompt de comando que você criar após a execução do comando. ***Não*** afeta outros shells de comando que já estejam em execução no momento em que você executar o comando.

**Como definir somente para a sessão atual**

O uso de `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` para definir uma variável de ambiente altera o valor usado até o final da sessão de prompt de comando atual ou até que você defina a variável como um valor diferente. 

```
C:\> set HTTP_PROXY=http://10.15.20.25:1234
C:\> set HTTP_PROXY=http://proxy.example.com:1234
C:\> set HTTPS_PROXY=http://10.15.20.25:5678
C:\> set HTTPS_PROXY=http://proxy.example.com:5678
```

------

## Autenticar para um proxy
<a name="cli-configure-proxy-auth"></a>

**nota**  
A AWS CLI não é compatível com proxies NTLM. Se você usa um proxy de protocolo NTLM ou Kerberos, talvez seja possível se conectar por meio de um proxy de autenticação, como [Cntlm](http://cntlm.sourceforge.net).

O AWS CLI é compatível com a autenticação básica HTTP. Especifique o nome do usuário e uma senha no URL de proxy da forma a seguir. 

------
#### [ Linux or macOS ]

```
$ export HTTP_PROXY=http://username:password@proxy.example.com:1234
$ export HTTPS_PROXY=http://username:password@proxy.example.com:5678
```

------
#### [ Windows Command Prompt ]

**Como definir para todas as sessões**

```
C:\> setx HTTP_PROXY http://username:password@proxy.example.com:1234
C:\> setx HTTPS_PROXY http://username:password@proxy.example.com:5678
```

**Como definir somente para a sessão atual**

```
C:\> set HTTP_PROXY=http://username:password@proxy.example.com:1234
C:\> set HTTPS_PROXY=http://username:password@proxy.example.com:5678
```

------

## Uso de proxy em instâncias do Amazon EC2
<a name="cli-configure-proxy-ec2"></a>

Se você configurar um proxy em uma instância do Amazon EC2 iniciada com uma função do IAM anexada, certifique-se de isentar o endereço usado do acesso aos [metadados da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). Para fazer isso, defina a variável de ambiente `NO_PROXY` como o endereço IP do serviço de metadados da instância 169.254.169.254. Esse endereço não varia.

------
#### [ Linux or macOS ]

```
$ export NO_PROXY=169.254.169.254
```

------
#### [ Windows Command Prompt ]

**Como definir para todas as sessões**

```
C:\> setx NO_PROXY 169.254.169.254
```

**Como definir somente para a sessão atual**

```
C:\> set NO_PROXY=169.254.169.254
```

------

## Solução de problemas
<a name="cli-configure-proxy-tshoot"></a>

Se você encontrar problemas com a AWS CLI, consulte [Solução de problemas da AWS CLI](cli-chap-troubleshooting.md) para obter as etapas de solução de problemas. Para obter as etapas mais relevantes de solução de problemas, consulte [Erros de certificado SSL](cli-chap-troubleshooting.md#tshoot-certificate-verify-failed).

# Usar endpoints na AWS CLI
<a name="cli-configure-endpoints"></a>

Para se conectar a um AWS service (Serviço da AWS) de forma programática, use um endpoint. Um *endpoint* é o URL do ponto de entrada para um serviço da Web da AWS. A AWS Command Line Interface (AWS CLI) usa automaticamente o endpoint padrão para cada serviço em uma Região da AWS, mas você pode especificar um endpoint alternativo para suas solicitações de API.

**Contents**
+ [

## Definir o endpoint para um único comando
](#endpoints-command)
+ [

## Definir um endpoint global para todos os Serviços da AWS
](#endpoints-global)
+ [

## Definido para usar endpoints FIPs para todos os Serviços da AWS
](#endpoints-fips)
+ [

## Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS
](#endpoints-dual-stack)
+ [

## Definir endpoints específicos de serviço
](#endpoints-service-specific)
  + [Variáveis de ambiente](#endpoints-service-specific-envvars)
  + [Arquivo compartilhado `config`](#endpoints-service-specific-config)
  + [Lista de identificadores específicos de serviço](#endpoints-service-specific-table)
+ [Endpoints baseados em conta](#endpoints-accountid)
+ [

## Precedência de configurações e definições do endpoint
](#endpoints-precedence)

## Definir o endpoint para um único comando
<a name="endpoints-command"></a>

Para substituir qualquer configuração de endpoint ou variável de ambiente referente a um único comando, use a opção de linha de comando `--endpoint-url`. O exemplo de comando a seguir usa um URL personalizado do endpoint do Amazon S3.

```
$ aws s3 ls --endpoint-url http://localhost:4567
```

## Definir um endpoint global para todos os Serviços da AWS
<a name="endpoints-global"></a>

Para rotear solicitações de todos os serviços para um URL de endpoint personalizado, use uma das seguintes configurações:
+ Variáveis de ambiente:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignore os URLs de endpoints configurados.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
    ```

------
  + `AWS\$1ENDPOINT\$1URL`: defina o URL do endpoint global.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ENDPOINT_URL=http://localhost:4567
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_ENDPOINT_URL http://localhost:4567
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ENDPOINT_URL=http://localhost:4567
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ENDPOINT_URL="http://localhost:4567"
    ```

------
+ O arquivo `config`:
  + `ignore\$1configure\$1endpoint\$1urls`: ignore os URLs de endpoints configurados.

    ```
    ignore_configure_endpoint_urls = true
    ```
  + `endpoint\$1url`: defina o URL do endpoint global.

    ```
    endpoint_url = http://localhost:4567
    ```

Os endpoints específicos de serviço e a opção de linha de comando `--endpoint-url` substituem qualquer endpoint global.

## Definido para usar endpoints FIPs para todos os Serviços da AWS
<a name="endpoints-fips"></a>

Para rotear solicitações para todos os serviços usarem endpoints FIPS, use uma das seguintes opções:
+ variável de ambiente `AWS\$1USE\$1FIPS\$1ENDPOINT`.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_USE_FIPS_ENDPOINT true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_FIPS_ENDPOINT="true"
  ```

------
+ configuração do arquivo `use\$1fips\$1endpoint`.

  ```
  use_fips_endpoint = true
  ```

Alguns serviços da AWS oferecem endpoints compatíveis com o [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) em algumas Regiões da AWS. Quando o serviço da AWS é compatível com o FIPS, essa configuração especifica qual endpoint do FIPS a AWS CLI deve usar. Ao contrário dos endpoints-padrão da AWS, os endpoints do FIPS usam uma biblioteca de software TLS compatível com o FIPS 140-2. Esses endpoints podem ser necessários por empresas que interagem com o governo dos Estados Unidos. 

Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em sua Região da AWS, o comando AWS poderá falhar. Nesse caso, especifique manualmente o endpoint a ser usado no comando usando a opção `--endpoint-url` ou use [endpoints específicos do serviço](#endpoints-service-specific).

Para saber mais sobre como especificar endpoints FIPS por Região da AWS, consulte [Endpoints FIPS por serviço](https://aws.amazon.com/compliance/fips/).

## Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS
<a name="endpoints-dual-stack"></a>

Para rotear solicitações para todos os serviços usarem endpoints de pilha dupla, use uma das seguintes configurações:
+ variável de ambiente `AWS\$1USE\$1DUALSTACK\$1ENDPOINT`.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_USE_DUALSTACK_ENDPOINT true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_DUALSTACK_ENDPOINT="true"
  ```

------
+ configuração do arquivo `use\$1dualstack\$1endpoint`.

  ```
  use_dualstack_endpoint = true
  ```

Permite o uso de endpoints de pilha dupla para enviar solicitações da AWS. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte [Usar endpoints de pilha dupla do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) no *Guia do usuário do Amazon Simple Storage Service*. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. Ela fica desabilitada por padrão.

## Definir endpoints específicos de serviço
<a name="endpoints-service-specific"></a>

A configuração de endpoint específico de serviço oferece a opção de usar um endpoint persistente de sua escolha para solicitações da AWS CLI. Essas configurações oferecem flexibilidade para permitir endpoints locais, endpoints da VPC e ambientes de desenvolvimento da AWS local de terceiros. Diferentes endpoints podem ser usados para ambientes de teste e produção. Você pode especificar um URL de endpoint para Serviços da AWS individuais. 

Os endpoints específicos de serviço podem ser designados das seguintes maneiras:
+ A opção de linha de comando `--endpoint-url` para um único comando.
+ Variáveis de ambiente:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando.
  + `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`: especifica um endpoint personalizado usado para um serviço específico, onde `<SERVICE>` é substituído pelo identificador AWS service (Serviço da AWS). Para todas as variáveis específicas de serviço, consulte [Endpoints específicos de serviço: lista de identificadores específicos de serviço](#endpoints-service-specific-table).
+ Arquivo `config`:
  + `ignore\$1configure\$1endpoint\$1urls`: ignora todos os URLs de endpoint configurados, a menos que especificado por meio de variáveis de ambiente ou na linha de comando.
  + A seção [`services`](cli-configure-files.md#cli-configure-files-format-services) do arquivo `config` combinada com a configuração do arquivo `endpoint\$1url`.

**Topics**
+ [Variáveis de ambiente](#endpoints-service-specific-envvars)
+ [Arquivo compartilhado `config`](#endpoints-service-specific-config)
+ [Lista de identificadores específicos de serviço](#endpoints-service-specific-table)

### Endpoints específicos de serviço: variáveis de ambiente
<a name="endpoints-service-specific-envvars"></a>

As variáveis de ambiente substituem as configurações no arquivo de configuração, mas não substituem as opções especificadas na linha de comando. Use variáveis de ambiente se quiser que todos os perfis usem os mesmos endpoints no dispositivo.

Veja a seguir as variáveis de ambiente específicas de serviço:
+ `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
  ```

------
+ `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`: especifica um endpoint personalizado usado para um serviço específico, onde `<SERVICE>` é substituído pelo identificador AWS service (Serviço da AWS). Para todas as variáveis específicas de serviço, consulte [Endpoints específicos de serviço: lista de identificadores específicos de serviço](#endpoints-service-specific-table).

  O exemplo a seguir de variável de ambiente define um endpoint para o AWS Elastic Beanstalk: 

------
#### [ Linux or macOS ]

  ```
  $ export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_ENDPOINT_URL_ELASTIC_BEANSTALK http://localhost:4567
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_ENDPOINT_URL_ELASTIC_BEANSTALK="http://localhost:4567"
  ```

------

Para obter mais informações sobre como definir variáveis de ambiente, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md).

### Endpoints específicos de serviço: arquivo compartilhado `config`
<a name="endpoints-service-specific-config"></a>

No arquivo compartilhado `config`, `endpoint_url` é usado em várias seções. Para definir um endpoint específico de serviço, use a configuração `endpoint_url` aninhada em uma chave de identificação de serviço em uma seção `services`. Para obter detalhes sobre como definir uma seção `services` no arquivo compartilhado [Tipo de seção: `services`](cli-configure-files.md#cli-configure-files-format-services), consulte `config`. 

O exemplo a seguir usa uma seção `services` para configurar um URL de endpoint específico do serviço para o Amazon S3 e um endpoint global personalizado usado para todos os outros serviços: 

```
[profile dev1]
endpoint_url = http://localhost:1234
services = s3-specific

[services testing-s3]
s3 = 
  endpoint_url = http://localhost:4567
```

Um único perfil pode configurar endpoints para vários serviços. O exemplo a seguir define os URLs de endpoint específicos de serviço para o Amazon S3 e o AWS Elastic Beanstalk no mesmo perfil.

Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção `services`, consulte [Lista de identificadores específicos de serviço](#endpoints-service-specific-table). 

```
[profile dev1]
services = testing-s3-and-eb

[services testing-s3-and-eb]
s3 = 
  endpoint_url = http://localhost:4567
elastic_beanstalk = 
  endpoint_url = http://localhost:8000
```

A seção de configuração de serviço pode ser usada em vários perfis. O exemplo a seguir tem dois perfis que usam a mesma definição de `services`: 

```
[profile dev1]
output = json
services = testing-s3

[profile dev2]
output = text
services = testing-s3

[services testing-s3]
s3 = 
  endpoint_url = https://localhost:4567
```

### Endpoints específicos de serviço: lista de identificadores específicos de serviço
<a name="endpoints-service-specific-table"></a>

O identificador AWS service (Serviço da AWS) é baseado no `serviceId` do modelo de API, substituindo todos os espaços por sublinhados e colocando todas as letras em minúsculas. 

A tabela a seguir lista todos os identificadores, chaves do arquivo `config` e variáveis de ambiente específicos de serviço.

## Endpoints baseados em conta
<a name="endpoints-accountid"></a>

Os endpoints baseados em conta podem ser especificados das seguintes maneiras:
+ Variáveis de ambiente
  + `AWS\$1ACCOUNT\$1ID`: especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. 

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_ACCOUNT_ID <account-id>
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID="<account-id>"
    ```

------
  + `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE`: especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Pode ser definido como `preferred`, `disabled` ou `required`. O valor padrão é . `preferred`.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_ACCOUNT_ID_ENDPOINT_MODE preferred
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID_ENDPOINT_MODE="preferred"
    ```

------
+ O arquivo `config`:
  + `aws\$1account\$1id`: especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. 

    ```
    aws_account_id = <account-id>
    ```
  + `account\$1id\$1endpoint\$1mode`: especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Pode ser definido como `preferred`, `disabled` ou `required`. O valor padrão é o preferido.

    ```
    account_id_endpoint_mode = preferred
    ```

Os endpoints baseados em conta ajudam a garantir alto desempenho e escalabilidade usando o ID de conta da AWS para otimizar o roteamento de solicitações de AWS service (Serviço da AWS) para serviços compatíveis com esse recurso. Quando você usa um provedor de credenciais e um serviço compatível com endpoints baseados em conta, a AWS CLI constrói e usa automaticamente um endpoint baseado em conta em vez de um endpoint regional.

Os endpoints baseados em conta usam o seguinte formato, em que `<account-id>` é substituído pelo ID da sua conta da AWS e `<region>` é substituído por sua Região da AWS:

```
https://<account-id>.myservice.<region>.amazonaws.com
```

Por padrão, na AWS CLI, o modo de endpoint baseado em conta está definido como `preferred`.

## Precedência de configurações e definições do endpoint
<a name="endpoints-precedence"></a>

As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

1. A opção da linha de comando `--endpoint-url`.

1. Se habilitada, a variável de ambiente global `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` ou a configuração do perfil `ignore\$1configure\$1endpoint\$1urls` para ignorar os endpoints personalizados.

1. O valor fornecido por uma variável de ambiente específica do serviço `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`, como `AWS_ENDPOINT_URL_DYNAMODB`.

1. Os valores fornecidos pelas variáveis de ambiente `AWS\$1USE\$1DUALSTACK\$1ENDPOINT`, `AWS\$1USE\$1FIPS\$1ENDPOINT` e `AWS\$1ENDPOINT\$1URL`.

1. A variável de ambiente `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` é definida como `preferred` ou `required` usando o ID da conta na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.

1. O valor do endpoint específico de serviço fornecido pela configuração `endpoint\$1url` em uma seção `services` do arquivo compartilhado `config`.

1. O valor fornecido pela configuração `endpoint\$1url` em um `profile` do arquivo compartilhado `config`.

1. Configurações `use\$1dualstack\$1endpoint`, `use\$1fips\$1endpoint` e `endpoint\$1url`.

1. A configuração `account\$1id\$1endpoint\$1mode` é definida como `preferred` ou `required` usando o ID da conta na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.

1. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usado por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte [Regiões e endpoints da AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) no *Referência geral da Amazon Web Services*.