Referencia de configuración de SDK y herramientas de AWS - SDK y herramientas de AWS

Referencia de configuración de SDK y herramientas de AWS

Los SDK proporcionan API específicas del lenguaje para Servicios de AWS. Se encargan de algunas de las tareas pesadas necesarias para realizar correctamente las llamadas a la API, como la autenticación, el comportamiento de reintentos y mucho más. Para ello, los SDK cuentan con estrategias flexibles que permiten obtener credenciales para utilizarlas en tus solicitudes, mantener la configuración que se utilizará con cada servicio y obtener valores para utilizarlos en la configuración global.

Encontrará información detallada sobre los ajustes de configuración en las siguientes secciones:

Cómo crear clientes de servicio

Para acceder a los Servicios de AWS mediante programación, los SDK utilizan una clase de cliente u objeto para cada Servicio de AWS. Por ejemplo, si su aplicación necesita acceder a Amazon EC2, su aplicación crearía un objeto de cliente de Amazon EC2 para interactuar con ese servicio. A continuación, utiliza el cliente de servicio para realizar solicitudes al mismo Servicio de AWS. En la mayoría de los SDK, un objeto de cliente de servicio es inmutable, por lo que debe crear un cliente nuevo para cada servicio al que realice solicitudes y para realizar solicitudes al mismo servicio con una configuración diferente.

Prioridad de los ajustes

Los ajustes globales configuran las funciones, los proveedores de credenciales y otras funcionalidades compatibles con la mayoría de los SDK y que tienen un amplio impacto en todos los Servicios de AWS. Todos los SDK tienen una serie de lugares (o fuentes) que se comprueban para encontrar un valor para la configuración global. La siguiente es la configuración de la prioridad de búsqueda:

  1. Cualquier configuración explícita establecida en el código o en el propio cliente de servicio tiene prioridad sobre cualquier otra.

    • Algunos ajustes se pueden establecer por operación y se pueden cambiar según sea necesario para cada operación que se invoque. En el caso de las operaciones de la AWS CLI o Herramientas de AWS para PowerShell, adoptan la forma de parámetros por operación que se introducen en la línea de comandos. En el caso de un SDK, las asignaciones explícitas pueden adoptar la forma de un parámetro que se establece al crear una instancia de un cliente Servicio de AWS o un objeto de configuración o, a veces, al llamar a una API individual.

  2. Solo en Java/Kotlin: la propiedad del sistema JVM para la configuración está marcada. Si se ha establecido, se usa ese valor para configurar el cliente.

  3. Se comprueba la variable de entorno . Si se ha establecido, se usa ese valor para configurar el cliente.

  4. El SDK verifica la configuración en el archivo de credentials compartido. Si está configurado, el cliente lo usa.

  5. El archivo config compartido para la configuración. Si la configuración está presente, el SDK la usa.

    • La variable de entorno AWS_PROFILE o la propiedad del sistema JVM aws.profile se pueden utilizar para personalizar el perfil que carga el SDK.

  6. Los valores predeterminados proporcionados por el código de origen del SDK se utilizan en último lugar.

nota

Es posible que algunos SDK y herramientas se muestren en un orden diferente. Además, algunos SDK y herramientas admiten otros métodos de almacenamiento y recuperación de parámetros. Por ejemplo, AWS SDK para .NET admite una fuente adicional llamada Tienda SDK. Para obtener más información sobre los proveedores exclusivos de un SDK o una herramienta, consulta la guía específica del SDK o la herramienta que estés utilizando.

El orden determina qué métodos tienen prioridad y sustituyen a los demás. Por ejemplo, si configuras un perfil en el archivo compartido config, solo se encuentra y se usa después de que el SDK o la herramienta comprueben primero los demás lugares. Esto significa que si colocas una configuración en el archivo credentials, se utilizará en lugar de la que se encuentra en el archivo config. Si configura una variable de entorno con una configuración y un valor, anulará esa configuración en los archivos credentials y config. Por último, una configuración en la operación individual (parámetro de la línea de comandos de la AWS CLI o parámetro de API) o en el código anularía todos los demás valores de ese comando.

Comprender las páginas de configuración de esta guía

Las páginas de la sección de referencia de configuración de esta guía detallan las configuraciones disponibles que se pueden configurar mediante varios mecanismos. En las tablas siguientes se enumeran los ajustes de los archivos de configuración y credenciales, las variables de entorno y (en el caso de los SDK de Java y Kotlin) los ajustes de la JVM que se pueden utilizar fuera del código para configurar la característica. Cada tema vinculado de cada lista lleva a la página de configuración correspondiente.

Cada característica o proveedor de credenciales tiene una página en la que se enumeran los ajustes que se utilizan para configurar esa funcionalidad. Para cada configuración, normalmente se puede establecer el valor al agregar el ajuste a un archivo de configuración, al etablecer una variable de entorno o (solo para Java y Kotlin) al ajustar una propiedad del sistema JVM. Cada configuración muestra todos los métodos admitidos para establecer el valor en un bloque situado por encima de los detalles de la descripción. Aunque la prioridad varía, la funcionalidad resultante es la misma independientemente de cómo se establezca.

La descripción incluirá el valor predeterminado, si lo hay, que surtirá efecto si no se hace nada. También define qué valor es válido para esa configuración.

Por ejemplo, veamos una configuración de la página de características Compresión de solicitudes.

La información de la configuración del ejemplo disable_request_compression documenta lo siguiente:

  • Hay tres formas equivalentes de controlar la compresión de las solicitudes fuera del código base. Puede:

    • Establecerlo en su archivo de configuración con disable_request_compression

    • Establecerlo como una variable de entorno con AWS_DISABLE_REQUEST_COMPRESSION

    • O bien, si utiliza el SDK de Java o Kotlin, configúrelo como una propiedad del sistema JVM mediante aws.disableRequestCompression

    nota

    También puede haber una forma de configurar la misma funcionalidad directamente en el código, pero esta referencia no cubre este tema, ya que es exclusiva de cada SDK. Si quiere establecer su configuración en el propio código, consulte la guía específica del SDK o la referencia de la API.

  • Si no hace nada, el valor predeterminado será false.

  • Los únicos valores válidos para esta configuración booleana son true y false.

En la parte inferior de cada página de características hay una tabla de Soporte mediante herramientas y SDK de AWS.

En esta tabla se muestra si su SDK admite las configuraciones que aparecen en la página. La columna Supported indica el nivel de soporte con los siguientes valores:

  • Yes: la configuración es totalmente compatible con el SDK tal como está escrito.

  • Partial: algunas de las configuraciones son compatibles o el comportamiento se aparta de la descripción. Para Partial, una nota adicional indica la desviación.

  • No: no se admite ninguno de los ajustes. Esto no indica si se podría lograr la misma funcionalidad en el código; solo indica que los ajustes de configuración externos enumerados no son compatibles.

Lista de ajustes de archivos Config

Los ajustes que se muestran en la siguiente tabla se pueden asignar en el archivo compartido config de AWS. Son globales y afectan a todos los Servicios de AWS. Los SDK y las herramientas también pueden admitir configuraciones y variables de entorno únicas. Para ver la configuración y las variables de entorno que solo admiten un SDK o una herramienta individual, consulte esa guía de SDK o de herramientas específica.

Nombre del conjunto Detalles
account_id_endpoint_mode Puntos de conexión basados en cuentas
api_versions Ajustes de configuración general
auth_scheme_preference Esquema de autenticación
aws_access_key_id Claves de acceso de AWS
aws_account_id Puntos de conexión basados en cuentas
aws_secret_access_key Claves de acceso de AWS
aws_session_token AWS Claves de acceso de
ca_bundle Ajustes de configuración general
credential_process Proveedor de credenciales de proceso
credential_source Asumir el rol de proveedor de credenciales
defaults_mode Valores predeterminados de configuración inteligente
disable_host_prefix_injection Inyección de prefijos de host
disable_request_compression Compresión de solicitudes
duration_seconds Asumir el rol de proveedor de credenciales
ec2_metadata_service_endpoint Proveedor de credenciales IMDS
ec2_metadata_service_endpoint_mode Proveedor de credenciales IMDS
ec2_metadata_v1_disabled Proveedor de credenciales IMDS
endpoint_discovery_enabled Detección de puntos de conexión
endpoint_url Puntos de conexión específicos del servicio
external_id Asumir el rol de proveedor de credenciales
ignore_configured_endpoint_urls Puntos de conexión específicos del servicio
max_attempts Comportamiento de los reintentos
metadata_service_num_attempts Metadatos de la instancia de Amazon EC
metadata_service_timeout Metadatos de la instancia de Amazon EC
mfa_serial Asumir el rol de proveedor de credenciales
output Ajustes de configuración general
parameter_validation Ajustes de configuración general
region Región de AWS
request_checksum_calculation Protecciones de integridad de datos para Amazon S3
request_min_compression_size_bytes Compresión de solicitudes
response_checksum_validation Protecciones de integridad de datos para Amazon S3
retry_mode Comportamiento de los reintentos
role_arn Asumir el rol de proveedor de credenciales
role_session_name Asumir el rol de proveedor de credenciales
s3_disable_express_session_auth Autenticación de sesión S3 Express One Zone
s3_disable_multiregion_access_points Puntos de acceso multirregión de Amazon S
s3_use_arn_region Puntos de acceso de Amazon S
sdk_ua_app_id ID de aplicación de
sigv4a_signing_region_set Esquema de autenticación
source_profile Asumir el rol de proveedor de credenciales
sso_account_id Proveedor de credenciales del IAM Identity Center
sso_region Proveedor de credenciales del IAM Identity Center
sso_registration_scopes Proveedor de credenciales del IAM Identity Center
sso_role_name Proveedor de credenciales del IAM Identity Center
sso_start_url Proveedor de credenciales del IAM Identity Center
sts_regional_endpoints Puntos de conexión regionales de AWS STS
use_dualstack_endpoint Puntos de conexión de doble pila y FIPS
use_fips_endpoint Puntos de conexión de doble pila y FIPS
web_identity_token_file Asumir el rol de proveedor de credenciales

Lista de ajustes de archivos Credentials

Los ajustes que se muestran en la siguiente tabla se pueden asignar en el archivo compartido credentials de AWS. Son globales y afectan a todos los Servicios de AWS. Los SDK y las herramientas también pueden admitir configuraciones y variables de entorno únicas. Para ver la configuración y las variables de entorno que solo admiten un SDK o una herramienta individual, consulte esa guía de SDK o de herramientas específica.

Nombre del conjunto Detalles
aws_access_key_id AWS Claves de acceso de
aws_secret_access_key AWS Claves de acceso de
aws_session_token AWS Claves de acceso de

Lista de variables de entorno

Las variables de entorno admitidas por la mayoría de los SDK se indican en la siguiente tabla. Son globales y afectan a todos los Servicios de AWS. Los SDK y las herramientas también pueden admitir configuraciones y variables de entorno únicas. Para ver la configuración y las variables de entorno que solo admiten un SDK o una herramienta individual, consulte esa guía de SDK o de herramientas específica.

Nombre del conjunto Detalles
AWS_ACCESS_KEY_ID Claves de acceso de AWS
AWS_ACCOUNT_ID Puntos de conexión basados en cuentas
AWS_ACCOUNT_ID_ENDPOINT_MODE Puntos de conexión basados en cuentas
AWS_AUTH_SCHEME_PREFERENCE Esquema de autenticación
AWS_CA_BUNDLE Ajustes de configuración general
AWS_CONFIG_FILE Buscar y cambiar la ubicación de los archivos de credentials y config de los SDK y las herramientas de AWS
AWS_CONTAINER_AUTHORIZATION_TOKEN Proveedor de credenciales de contenedor
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE Proveedor de credenciales de contenedor
AWS_CONTAINER_CREDENTIALS_FULL_URI Proveedor de credenciales de contenedor
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI Proveedor de credenciales de contenedor
AWS_DEFAULTS_MODE Valores predeterminados de configuración inteligente
AWS_DISABLE_HOST_PREFIX_INJECTION Inyección de prefijos de host
AWS_DISABLE_REQUEST_COMPRESSION Compresión de solicitudes
AWS_EC2_METADATA_DISABLED Proveedor de credenciales IMDS
AWS_EC2_METADATA_SERVICE_ENDPOINT Proveedor de credenciales IMDS
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE Proveedor de credenciales IMDS
AWS_EC2_METADATA_V1_DISABLED Proveedor de credenciales IMDS
AWS_ENABLE_ENDPOINT_DISCOVERY Detección de puntos de conexión
AWS_ENDPOINT_URL Puntos de conexión específicos del servicio
AWS_ENDPOINT_URL_<SERVICE> Puntos de conexión específicos del servicio
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS Puntos de conexión específicos del servicio
AWS_MAX_ATTEMPTS Comportamiento de los reintentos
AWS_METADATA_SERVICE_NUM_ATTEMPTS Metadatos de la instancia de Amazon EC
AWS_METADATA_SERVICE_TIMEOUT Metadatos de la instancia de Amazon EC
AWS_PROFILE Uso de archivos config y credentials compartidos para configurar los SDK y las herramientas de AWS de forma global
AWS_REGION Región de AWS
AWS_REQUEST_CHECKSUM_CALCULATION Protecciones de integridad de datos para Amazon S3
AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES Compresión de solicitudes
AWS_RESPONSE_CHECKSUM_VALIDATION Protecciones de integridad de datos para Amazon S3
AWS_RETRY_MODE Comportamiento de los reintentos
AWS_ROLE_ARN Asumir el rol de proveedor de credenciales
AWS_ROLE_SESSION_NAME Asumir el rol de proveedor de credenciales
AWS_S3_DISABLE_EXPRESS_SESSION_AUTH Autenticación de sesión S3 Express One Zone
AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS Puntos de acceso multirregión de Amazon S
AWS_S3_USE_ARN_REGION Puntos de acceso de Amazon S
AWS_SDK_UA_APP_ID ID de aplicación de
AWS_SECRET_ACCESS_KEY Claves de acceso de AWS
AWS_SESSION_TOKEN Claves de acceso de AWS
AWS_SHARED_CREDENTIALS_FILE Buscar y cambiar la ubicación de los archivos de credentials y config de los SDK y las herramientas de AWS
AWS_SIGV4A_SIGNING_REGION_SET Esquema de autenticación
AWS_STS_REGIONAL_ENDPOINTS Puntos de conexión regionales de AWS STS
AWS_USE_DUALSTACK_ENDPOINT Puntos de conexión de doble pila y FIPS
AWS_USE_FIPS_ENDPOINT Puntos de conexión de doble pila y FIPS
AWS_WEB_IDENTITY_TOKEN_FILE Asumir el rol de proveedor de credenciales

Lista de propiedades del sistema JVM

Puede utilizar las siguientes propiedades del sistema JVM para AWS SDK para Java y para AWS SDK para Kotlin (dirigidas a JVM). Consulte Cómo establecer propiedades del sistema JVM para ver instrucciones sobre cómo configurar las propiedades del sistema JVM.

Nombre del conjunto Detalles
aws.accessKeyId Claves de acceso de AWS
aws.accountId Puntos de conexión basados en cuentas
aws.accountIdEndpointMode Puntos de conexión basados en cuentas
aws.authSchemePreference Esquema de autenticación
aws.configFile Buscar y cambiar la ubicación de los archivos de credentials y config de los SDK y las herramientas de AWS
aws.defaultsMode Valores predeterminados de configuración inteligente
aws.disableEc2MetadataV1 Proveedor de credenciales IMDS
aws.disableHostPrefixInjection Inyección de prefijos de host
aws.disableRequestCompression Compresión de solicitudes
aws.disableS3ExpressAuth Autenticación de sesión S3 Express One Zone
aws.ec2MetadataServiceEndpoint Proveedor de credenciales IMDS
aws.ec2MetadataServiceEndpointMode Proveedor de credenciales IMDS
aws.endpointDiscoveryEnabled Detección de puntos de conexión
aws.endpointUrl Puntos de conexión específicos del servicio
aws.endpointUrl<ServiceName> Puntos de conexión específicos del servicio
aws.ignoreConfiguredEndpointUrls Puntos de conexión específicos del servicio
aws.maxAttempts Comportamiento de los reintentos
aws.profile Uso de archivos config y credentials compartidos para configurar los SDK y las herramientas de AWS de forma global
aws.region Región de AWS
aws.requestChecksumCalculation Protecciones de integridad de datos para Amazon S3
aws.requestMinCompressionSizeBytes Compresión de solicitudes
aws.responseChecksumValidation Protecciones de integridad de datos para Amazon S3
aws.retryMode Comportamiento de los reintentos
aws.roleArn Asumir el rol de proveedor de credenciales
aws.roleSessionName Asumir el rol de proveedor de credenciales
aws.s3DisableMultiRegionAccessPoints Puntos de acceso multirregión de Amazon S
aws.s3UseArnRegion Puntos de acceso de Amazon S
aws.secretAccessKey AWS Claves de acceso de
aws.sessionToken Claves de acceso de AWS
aws.sharedCredentialsFile Buscar y cambiar la ubicación de los archivos de credentials y config de los SDK y las herramientas de AWS
aws.useDualstackEndpoint Puntos de conexión de doble pila y FIPS
aws.useFipsEndpoint Puntos de conexión de doble pila y FIPS
aws.webIdentityTokenFile Asumir el rol de proveedor de credenciales
sdk.ua.appId ID de aplicación de