Valores predeterminados de configuración inteligente - AWS SDKsy herramientas

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

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

Configure esta funcionalidad mediante lo siguiente:

defaults_mode- compartido AWS configconfiguración de archivos
AWS_DEFAULTS_MODE: variable de entorno
aws.defaultsMode- propiedad JVM del sistema: solo en 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 un AWS SDKla configuración tiene un valor establecido explícitamente, entonces ese valor siempre tiene prioridad. Si un AWS SDKla configuración no tiene un valor establecido de forma explícita y no defaults_mode es igual al heredado, esta función puede proporcionar diferentes valores predeterminados para diversas configuraciones optimizadas para su aplicación. La configuración puede incluir lo siguiente: configuración de HTTP comunicación, comportamiento de reintento, configuración de punto final regional del servicio y, posiblemente, cualquier configuración SDK relacionada. Los clientes que utilizan esta característica pueden obtener nuevos valores predeterminados de configuración adaptados a los escenarios de uso habituales. Si el tuyo no defaults_mode es igual alegacy, te recomendamos que realices pruebas en la aplicación cuando la actualicesSDK, 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 enstandard.

Valores válidos:

  • legacy— Proporciona la configuración predeterminada que varía según el establecimiento de SDK y que existía antes de su establecimientodefaults_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 requieren Servicios de AWS desde dentro del mismo Región de AWS.

  • cross-region— Se basa en el modo estándar e incluye una optimización adaptada a las aplicaciones que requieren Servicios de AWS en 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. SDKIntenta descubrir el entorno 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 podría consultar los metadatos de la instancia, lo que podría 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 se SDK reintentan los intentos. Consulte Comportamiento de los reintentos.

  • stsRegionalEndpoints— Especifica cómo SDK determina el Servicio de AWS punto final que utiliza para comunicarse con el AWS Security Token Service (AWS STS). MiraAWS STS Puntos finales regionales.

  • s3UsEast1RegionalEndpoints— Especifica cómo SDK determina la AWS punto final de 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 TLS apretón de manos desde el momento en que se envía el CLIENT HELLO mensaje hasta el momento en que el cliente y el servidor negocian completamente los cifrados e intercambian 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).

Compatibilidad con AWS SDKs

Las siguientes opciones SDKs son compatibles con las funciones y configuraciones descritas en este tema. Se anotan todas las excepciones parciales. Cualquier configuración de propiedades del JVM sistema es compatible con la AWS SDK for Java y el AWS SDK para Kotlin únicamente.

SDK Compatible Notas o más información
AWS CLI v2 No
SDKpara C++ Parámetros no optimizados: stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis.
SDKpara Go V2 (1.x) Parámetros no optimizados: retryMode, stsRegionalEndpoints, s3UsEast1RegionalEndpoints.
SDKpara Go 1.x (V1) No
SDKpara Java 2.x Parámetros no optimizados: stsRegionalEndpoints.
SDKpara Java 1.x No
SDKpara JavaScript 3.x Parámetros no optimizados: stsRegionalEndpoints, s3UsEast1RegionalEndpoints, tlsNegotiationTimeoutInMillis. connectTimeoutInMillis se llama connectionTimeout.
SDKpara JavaScript 2.x No
SDKpara Kotlin No
SDKpara. NET3.x Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis.
SDKpara PHP 3.x Parámetros no optimizados: tlsNegotiationTimeoutInMillis.
SDKpara Python (Boto3) Parámetros no optimizados: tlsNegotiationTimeoutInMillis.
SDKpara Ruby 3.x
SDKpara Rust No
SDKpara Swift No
Herramientas para PowerShell Parámetros no optimizados: connectTimeoutInMillis, tlsNegotiationTimeoutInMillis.