View a markdown version of this page

Inyección de prefijos de host - AWS SDK y 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.

Inyección de prefijos de host

nota

Si necesita ayuda para entender el diseño de las páginas de configuración o para interpretar la tabla de compatibilidad con AWS los SDK y las herramientas que aparece a continuación, consulte. Cómo comprender las páginas de configuración de esta guía

La inyección de prefijos de host es una función en la que AWS los SDK anteponen automáticamente un prefijo al nombre de host de los puntos finales del servicio para determinadas operaciones de la API. Este prefijo puede ser una cadena estática o un valor dinámico que incluya datos de los parámetros de la solicitud.

Por ejemplo, al usar Amazon Simple Storage Service para realizar acciones en objetos o cubos de Amazon S3, el SDK reemplaza el nombre y el ID del bucket en el punto final de la API. Cuenta de AWS

Si bien este comportamiento es obligatorio para los puntos de enlace de AWS servicio normales, puede provocar problemas al utilizar puntos de enlace personalizados, como los puntos de enlace de la VPC o las herramientas de prueba locales. En estos casos, es posible que tenga que deshabilitar la inyección de prefijos de host.

Configure esta funcionalidad mediante lo siguiente:

disable_host_prefix_injection- configuración de archivos compartidos AWS config
AWS_DISABLE_HOST_PREFIX_INJECTION: variable de entorno
aws.disableHostPrefixInjection- Propiedad del sistema JVM: solo Java/Kotlin

Esta configuración controla si el SDK o la herramienta modificarán el nombre de host del punto de conexión mediante la anteposición de un prefijo de host tal como se define en el objeto o la variable de cliente del SDK.

Valor predeterminado: false

Valores válidos:

  • true: inhabilitar la inyección de prefijos de host. El SDK no modificará el nombre de host del punto de conexión.

  • false: habilitar la inyección de prefijos de host. El SDK antepondrá el prefijo de host al nombre de host del punto de conexión.

Ejemplo de configuración de este valor en el archivo config:

[default] disable_host_prefix_injection = true

Linux/macOS ejemplo de configuración de variables de entorno mediante la línea de comandos:

export AWS_DISABLE_HOST_PREFIX_INJECTION=true

Ejemplo de configuración de variables de entorno en Windows mediante la línea de comandos:

setx AWS_DISABLE_HOST_PREFIX_INJECTION true

Ejemplos de inyección de prefijos de host

En la siguiente tabla de ejemplos, se muestra cómo los SDK modifican el punto de conexión cuando la inyección de prefijos de host está habilitada o deshabilitada.

  • Prefijo de host: la plantilla de la cadena de propiedades del prefijo de host establecida en el objeto o variable de cliente del SDK en el código.

  • Entradas: entradas adicionales configuradas en el objeto o variable de cliente del SDK en el código.

  • Punto de conexión del cliente: punto de conexión derivado del cliente.

  • Valor de configuración: valor resuelto para la configuración anterior.

  • Punto de conexión resultante: el punto de conexión resultante que el cliente del SDK utiliza para realizar la llamada a la API.

Prefijo de host Entradas Punto de conexión del cliente Valor de configuración Punto de conexión resultante
«datos». {} "https://service.us-west-2.amazonaws.com" false "https://data.service.us-west-2.amazonaws.com"
«{Cubo} - {AccountId}». Cubo: «amzn-s3-demo-bucket1",:" 123456789012" AccountId "https://service.us-west-2.amazonaws.com" false "https://amzn-s3-demo-bucket1-123456789012.service.us-west-2.amazonaws.com"
«datos». {} "https://override.us-west-2.amazonaws.com"(como punto final de anulación) true "https://override.us-west-2.amazonaws.com"

Respaldado por AWS SDK y herramientas

Los siguientes SDK admiten las características y los ajustes descritos en este tema. Se anotan todas las excepciones parciales. Cualquier configuración de propiedades del sistema JVM solo es compatible con AWS SDK para Java y AWS SDK para Kotlin solo.

SDK compatible Notas o más información
AWS CLI   v2 Sí
SDK para C++ No No se admite la configuración, pero se puede configurar en código en el cliente mediante: enableHostPrefixInjection.
SDK para Go V2 (1.x) No Se puede deshabilitar mediante middleware.
SDK para Go 1.x (V1) No
SDK para Java 2.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION.
SDK para Java 1.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: withDisableHostPrefixInjection.
SDK para 3.x JavaScript No No se admite la configuración, pero se puede configurar en código en el cliente mediante: disableHostPrefix.
SDK para 2.x JavaScript No No se admite la configuración, pero se puede configurar en código en el cliente mediante: hostPrefixEnabled.
SDK para Kotlin No
SDK para.NET 4.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: DisableHostPrefixInjection.
SDK para .NET 3.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: DisableHostPrefixInjection.
SDK para PHP 3.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: disable_host_prefix_injection.
SDK para Python (Boto3) Sí Se puede configurar en código en el cliente mediante: inject_host_prefix.
SDK para Ruby 3.x No No se admite la configuración, pero se puede configurar en código en el cliente mediante: disable_host_prefix_injection.
SDK para Rust No
SDK para Swift No
Herramientas para V5 PowerShell No No se admite la configuración, pero se puede incluir en cmdlets específicos mediante el parámetro -ClientConfig @{DisableHostPrefixInjection = $true}.
Herramientas para la PowerShell V4 No No se admite la configuración, pero se puede incluir en cmdlets específicos mediante el parámetro -ClientConfig @{DisableHostPrefixInjection = $true}.