

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Valores predeterminados de configuración inteligente
<a name="feature-smart-config-defaults"></a>

**nota**  
Para obtener ayuda para comprender el diseño de las páginas de configuración o para interpretar la tabla **Support by AWS SDKs and tools** que aparece a continuación, consulte[Cómo comprender las páginas de configuración de esta guía](settings-reference.md#settingsPages).

Con la función de configuración inteligente por defecto, AWS SDKs puede proporcionar valores predeterminados optimizados y predefinidos para otros ajustes de configuración. 

Configure esta funcionalidad mediante lo siguiente:

**`defaults_mode`- configuración de AWS `config` archivos compartidos`AWS_DEFAULTS_MODE`: variable de entorno`aws.defaultsMode`- Propiedad del sistema JVM: solo Java/Kotlin **  
Con esta configuración, puede elegir un modo que se alinee con la arquitectura de la aplicación y, a continuación, proporcionar valores predeterminados optimizados para la aplicación. Si una configuración AWS del SDK tiene un valor establecido de forma explícita, ese valor siempre tiene prioridad. Si una configuración AWS del SDK no tiene un valor establecido de forma explícita y no `defaults_mode` es igual a la antigua, esta función puede proporcionar diferentes valores predeterminados para diversas configuraciones optimizadas para tu aplicación. La configuración puede incluir lo siguiente: la configuración de comunicación HTTP, el comportamiento de los reintentos, la configuración del punto de conexión regional del servicio y, posiblemente, cualquier configuración relacionada con el SDK. Los clientes que utilizan esta característica pueden obtener nuevos valores predeterminados de configuración adaptados a los escenarios de uso habituales. Si su `defaults_mode` no es igual a su `legacy`, le recomendamos que realice pruebas en la aplicación cuando actualice el SDK, ya que los valores predeterminados proporcionados podrían cambiar a medida que evolucionen las prácticas recomendadas.  
**Valor predeterminado:** `legacy`  
Nota: Las nuevas versiones principales de SDKs se establecerán de forma predeterminada en`standard`.  
**Valores válidos:**  
+ `legacy`: proporciona una configuración predeterminada que varía según el SDK y que existía antes de la creación de `defaults_mode`.
+ `standard`: proporciona los últimos valores predeterminados recomendados que deberían poder ejecutarse de forma segura en la mayoría de los escenarios. 
+ `in-region`— Se basa en el modo estándar e incluye una optimización adaptada a las aplicaciones que llaman Servicios de AWS desde el mismo modo Región de AWS.
+ `cross-region`— Se basa en el modo estándar e incluye una optimización adaptada a las aplicaciones que llaman a Servicios de AWS una región diferente.
+ `mobile`: se basa en el modo estándar e incluye una optimización adaptada a las aplicaciones móviles.
+ `auto`: se basa en el modo estándar e incluye funciones experimentales. El SDK intenta descubrir el tiempo de ejecución para determinar automáticamente la configuración adecuada. La detección automática se basa en la heurística y no proporciona una precisión del 100 %. Si no se puede determinar el tiempo de ejecución, se utiliza el modo `standard`. La autodetección puede consultar los [metadatos de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) y datos de usuario, lo que puede introducir latencia. Si la startup es fundamental para tu aplicación, te recomendamos que elijas un `defaults_mode` explícito en su lugar.
 Ejemplo de configuración de este valor en el archivo `config`:  

```
[default]
defaults_mode = standard
```
Los siguientes parámetros pueden optimizarse en función de la selección de `defaults_mode`:  
+ `retryMode`: especifica cómo el SDK intenta volver a intentarlo. Consulte [Comportamiento de los reintentos](feature-retry-behavior.md). 
+ `stsRegionalEndpoints`— Especifica cómo el SDK determina el Servicio de AWS punto final que utiliza para comunicarse con el AWS Security Token Service (AWS STS). Consulte [AWS STS Puntos finales regionales](feature-sts-regionalized-endpoints.md). 
+ `s3UsEast1RegionalEndpoints`— Especifica cómo el SDK determina el punto de enlace del AWS servicio que utiliza para comunicarse con Amazon S3 de la `us-east-1` región. 
+ `connectTimeoutInMillis`: tras realizar un intento de conexión inicial en un socket, el tiempo transcurrido hasta que se agote el tiempo de espera. Si el cliente no recibe la finalización del apretón de manos de conexión, se da por vencido y no se realiza la operación. 
+ `tlsNegotiationTimeoutInMillis`: el tiempo máximo que puede tardar un protocolo de enlace TLS desde el momento en que se envía el mensaje CLIENT HELLO hasta el momento en que el cliente y el servidor han negociado completamente los cifrados e intercambiado claves. 

El valor predeterminado de cada configuración cambia en función del valor `defaults_mode` seleccionado para la aplicación. Estos valores se configuran actualmente de la siguiente manera (sujetos a cambios):


| 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 | 1 100 | 3100 | 30000 | 
|  tlsNegotiationTimeoutInMillis  | 3100 | 1 100 | 3100 | 30000 | 

Por ejemplo, si el `defaults_mode` que ha seleccionado es `standard`, entonces el valor `standard` se asignará para `retry_mode` (de las opciones `retry_mode` válidas) y el valor `regional` se asignará para `stsRegionalEndpoints` (de las opciones `stsRegionalEndpoints` válidas).

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

Las siguientes SDKs son compatibles con las funciones y configuraciones descritas en este tema. Se anotan todas las excepciones parciales. Todos los ajustes de propiedades del sistema JVM son compatibles con AWS SDK para Java y AWS SDK para Kotlin únicamente.


| SDK |  compatible | Notas o más información | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | No |  | 
| [SDK para C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) |  Sí | Parámetros no optimizados: stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis. | 
| [SDK para Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Sí | Parámetros no optimizados: retryMode, stsRegionalEndpoints, s3UsEast1RegionalEndpoints. | 
| [SDK para Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | No |  | 
| [SDK para Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Sí | Parámetros no optimizados: stsRegionalEndpoints. | 
| [SDK para Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | No |  | 
| [SDK para 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Sí | Parámetros no optimizados: stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis. connectTimeoutInMillis se llama connectionTimeout. | 
| [SDK para 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | No |  | 
| [SDK para Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | No |  | 
| [SDK para.NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Sí | Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [SDK para .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Sí | Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [SDK para PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Sí | Parámetros no optimizados: tlsNegotiationTimeoutInMillis. | 
| [SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Sí | Parámetros no optimizados: tlsNegotiationTimeoutInMillis. | 
| [SDK para Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Sí |   | 
| [SDK para Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | No |  | 
| [SDK para Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | No |  | 
| [Herramientas para V5 PowerShell ](https://docs.aws.amazon.com/powershell/latest/userguide/) | Sí | Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 
| [Herramientas para la PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Sí | Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis. | 