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 prefijo de host
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, consulteDescripción de 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 SDKs se añade 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, cuando se utiliza Amazon Simple Storage Service para realizar acciones en objetos o buckets de Amazon S3, el SDK reemplaza el nombre y el Cuenta de AWS ID del bucket en el punto final de la API.
Si bien este comportamiento es obligatorio para los puntos de enlace de AWS servicio normales, puede causar problemas al usar puntos de enlace personalizados, como puntos de enlace de VPC o herramientas de prueba locales. En estos casos, es posible que tengas que deshabilitar la inyección de prefijos de host.
Configure esta funcionalidad mediante lo siguiente:
disable_host_prefix_injection
- configuración de AWSconfig
archivos compartidosAWS_DISABLE_HOST_PREFIX_INJECTION
: variable de entornoaws.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 final anteponiendo 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
— Inhabilita la inyección de prefijos de host. El SDK no modificará el nombre de host del punto final. -
false
— Habilitar la inyección de prefijos de host. El SDK antepondrá el prefijo de host al nombre de host del punto final.
-
Ejemplo de configuración de este valor en el archivo config
:
[default] disable_host_prefix_injection = true
Ejemplo de configuración de variables de entorno en Linux/macOS 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
La siguiente tabla de ejemplos muestra cómo SDKs modificar el punto final 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 final del cliente: punto final derivado del cliente.
-
Valor de configuración: valor resuelto para la configuración anterior.
-
Punto final resultante: el punto final resultante que el cliente del SDK utiliza para realizar la llamada a la API.
Prefijo de host | Entradas | Punto final del cliente | Valor de configuración | Punto final resultante |
---|---|---|---|---|
«datos». | {} | "https://service.us-west-2.amazonaws.com" | false | "https://data.service.us-west-2.amazonaws.com" |
«{Cubo} - {AccountId}.» | Cubeta: «aman-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" |
Support by AWS SDKs and tools
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 v2 | Sí | |
SDK para C++ | No | No se admite la configuración, pero se puede configurar en código en el cliente usando: 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 | La configuración no es compatible, pero se puede configurar en código en el cliente usando: 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 usando: withDisableHostPrefixInjection . |
SDK para JavaScript 3.x | No | No se admite la configuración, pero se puede configurar en código en el cliente usando: disableHostPrefix . |
SDK para JavaScript 2.x | No | No se admite la configuración, pero se puede configurar en código en el cliente usando: 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 usando: DisableHostPrefixInjection . |
SDK para PHP 3.x | No | No se admite la configuración, pero se puede configurar en código en el cliente usando: disable_host_prefix_injection . |
SDK para Python (Boto3) |
Sí | Se puede configurar en código en el cliente usando: inject_host_prefix |
SDK para Ruby 3.x | No | La configuración no es compatible, pero se puede configurar en código en el cliente usando: disable_host_prefix_injection |
SDK para Rust | No | |
SDK para Swift | No | |
Herramientas para PowerShell V5 | 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 versión 4 PowerShell | No | No se admite la configuración, pero se puede incluir en cmdlets específicos mediante el parámetro. -ClientConfig @{DisableHostPrefixInjection = $true} |