

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

# Padrões de configuração inteligente
<a name="feature-smart-config-defaults"></a>

**nota**  
Para obter ajuda na compreensão do layout das páginas de configurações ou na interpretação da tabela **Support by AWS SDKs and Tools** a seguir, consulte. [Entender as páginas de configurações deste guia](settings-reference.md#settingsPages)

Com o recurso de padrões de configuração inteligente, os AWS SDKs podem fornecer valores padrão predefinidos e otimizados para outras configurações. 

Configure essa funcionalidade usando o seguinte:

**`defaults_mode`- configuração de AWS `config` arquivo compartilhado`AWS_DEFAULTS_MODE`: variável de ambiente`aws.defaultsMode`- Propriedade do sistema JVM: somente Java/Kotlin **  
Com essa configuração, você pode escolher um modo que se alinhe à arquitetura do aplicativo e, em seguida, forneça valores padrão otimizados para o aplicativo. Se uma configuração do AWS SDK tiver um valor definido explicitamente, esse valor sempre terá precedência. Se uma configuração do AWS SDK não tiver um valor definido explicitamente e não `defaults_mode` for igual ao legado, esse recurso poderá fornecer valores padrão diferentes para várias configurações otimizadas para seu aplicativo. As configurações podem incluir o seguinte: configurações de comunicação HTTP, comportamento de repetição, configurações de endpoint regional do serviço e, potencialmente, qualquer SDK-related configuração. Os clientes que usam esse atributo podem obter novos padrões de configuração personalizados para cenários de uso comuns. Se seu `defaults_mode` não for igual a `legacy`, recomendamos realizar testes de seu aplicativo ao atualizar o SDK, pois os valores padrão fornecidos podem mudar à medida que as melhores práticas evoluem.  
**Valor padrão**: `legacy`  
Observação: as novas versões principais dos SDKs usarão como padrão de `standard`.  
**Valores válidos:**  
+ `legacy`: fornece configurações padrão que variam de acordo com o SDK e existiam antes do estabelecimento do `defaults_mode`.
+ `standard`: fornece os valores padrão recomendados mais recentes que devem ser executados com segurança na maioria dos cenários. 
+ `in-region`— Baseia-se no modo padrão e inclui otimização personalizada para aplicativos que ligam Serviços da AWS de dentro do mesmo Região da AWS.
+ `cross-region`— Baseia-se no modo padrão e inclui otimização personalizada para aplicativos que fazem chamadas Serviços da AWS em uma região diferente.
+ `mobile`: baseia-se no modo padrão e inclui otimização personalizada para aplicativos móveis.
+ `auto`: baseia-se no modo padrão e inclui atributos experimentais. O SDK tenta descobrir o ambiente de runtime para determinar automaticamente as configurações apropriadas. A detecção automática é baseada em heurísticas e não fornece 100% de precisão. Se o ambiente de runtime não puder ser determinado, o modo `standard` será usado. A detecção automática pode consultar os [metadados da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html), o que pode introduzir latência. Se a latência de inicialização for fundamental para seu aplicativo, recomendamos escolher um `defaults_mode` explícito.
 Exemplo de configuração desse valor no arquivo `config`:  

```
[default]
defaults_mode = standard
```
Os parâmetros a seguir podem ser otimizados com base na seleção de `defaults_mode`:  
+ `retryMode`: especifica como o SDK tenta novas tentativas. Consulte [Comportamento de repetição](feature-retry-behavior.md). 
+ `stsRegionalEndpoints`— Especifica como o SDK determina o AWS service (Serviço da AWS) endpoint que ele usa para se comunicar com o AWS Security Token Service ().AWS STS Consulte [AWS STS Endpoints regionais do](feature-sts-regionalized-endpoints.md). 
+ `s3UsEast1RegionalEndpoints`— Especifica como o SDK determina o endpoint AWS de serviço que ele usa para se comunicar com o Amazon S3 da região. `us-east-1` 
+ `connectTimeoutInMillis`: depois de fazer uma tentativa inicial de conexão em um soquete, a quantidade de tempo antes do tempo limite. Se o cliente não receber a conclusão do handshake de conexão, ele desiste e falhará na operação. 
+ `tlsNegotiationTimeoutInMillis`: o tempo máximo que um handshake TLS pode levar desde o momento em que a mensagem CLIENT HELLO é enviada até o momento em que o cliente e o servidor negociaram totalmente as cifras e trocaram as chaves. 

O valor padrão para cada configuração muda dependendo da `defaults_mode` selecionada para seu aplicativo. Atualmente, esses valores são definidos da seguinte forma (sujeitos a alterações):


| Parâmetro | Modo `standard` | Modo `in-region` | Modo `cross-region` | Modo `mobile` | 
| --- | --- | --- | --- | --- | 
|  retryMode  | standard | standard | standard | standard | 
|  stsRegionalEndpoints  | regional | regional | regional | regional | 
|  s3UsEast1RegionalEndpoints  | regional | regional | regional | regional | 
|  connectTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 
|  tlsNegotiationTimeoutInMillis  | 3100 | 1100 | 3100 | 30000 | 

Por exemplo, se o `defaults_mode` que você selecionou fosse `standard`, o valor de `standard` seria atribuído a `retry_mode` (das opções `retry_mode` válidas) e o valor de `regional` seria atribuído a `stsRegionalEndpoints` (das opções `stsRegionalEndpoints` válidas).

## Support by AWS SDKs e ferramentas
<a name="feature-smart-config-defaults-sdk-compat"></a>

Os SDKs a seguir são compatíveis com os recursos e configurações descritos neste tópico. Quaisquer exceções parciais estão anotadas. Todas as configurações de propriedade do sistema JVM são suportadas pelo AWS SDK for Java e pelo AWS SDK para Kotlin único.


| SDK | Compatível | Notas ou mais informações | 
| --- | --- | --- | 
| [AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/) | Não |  | 
| [SDK para C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) |  Sim | Parâmetros não otimizados:stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis. | 
| [SDK para Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Sim | Parâmetros não otimizados:retryMode, stsRegionalEndpoints, s3UsEast1RegionalEndpoints. | 
| [SDK para Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Não |  | 
| [SDK para Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Sim | Parâmetros não otimizados: stsRegionalEndpoints. | 
| [SDK para Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | Não |  | 
| [SDK para 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Sim | Parâmetros não otimizados:stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis. connectTimeoutInMillis é chamado connectionTimeout. | 
| [SDK para 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Não |  | 
| [SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Não |  | 
| [SDK para .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Sim | Parâmetros não otimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [SDK para .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Sim | Parâmetros não otimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [SDK para PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Sim | Parâmetros não otimizados: tlsNegotiationTimeoutInMillis. | 
| [SDK para Python (Boto3)](https://docs.aws.amazon.com/boto3/latest/guide/quickstart.html) | Sim | Parâmetros não otimizados: tlsNegotiationTimeoutInMillis. | 
| [SDK para Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Sim |   | 
| [SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Não |  | 
| [SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Não |  | 
| [Ferramentas para PowerShell V5](https://docs.aws.amazon.com/powershell/latest/userguide/) | Sim | Parâmetros não otimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [Ferramentas para PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Sim | Parâmetros não otimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 