Injeção de prefixo do hospedeiro - AWS SDKs e ferramentas

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Injeção de prefixo do hospedeiro

nota

Para obter ajuda na compreensão do layout das páginas de configurações ou na interpretação da tabela Support by AWS SDKs and tools a seguir, consulteEntendendo as páginas de configurações deste guia.

A injeção de prefixo de host é um recurso em que se AWS SDKs acrescenta automaticamente um prefixo ao nome do host dos endpoints de serviço para determinadas operações de API. Esse prefixo pode ser uma string estática ou um valor dinâmico que inclui dados dos parâmetros da sua solicitação.

Por exemplo, ao usar o Amazon Simple Storage Service para realizar ações em objetos ou buckets do Amazon S3, o SDK substitui o nome e o Conta da AWS ID do bucket no endpoint final da API.

Embora esse comportamento seja necessário para endpoints de AWS serviço normais, ele pode causar problemas ao usar endpoints personalizados, como endpoints de VPC ou ferramentas de teste locais. Nesses casos, talvez seja necessário desativar a injeção do prefixo do host.

Configure essa funcionalidade usando o seguinte:

disable_host_prefix_injection- configuração de AWS config arquivo compartilhado
AWS_DISABLE_HOST_PREFIX_INJECTION: variável de ambiente
aws.disableHostPrefixInjection- Propriedade do sistema JVM: somente Java/Kotlin

Essa configuração controla se o SDK ou a ferramenta modificará o nome do host do endpoint colocando um prefixo de host no início, conforme definido no objeto ou na variável cliente do SDK.

Valor padrão: false

Valores válidos:

  • true— Desative a injeção do prefixo do host. O SDK não modificará o nome do host do endpoint.

  • false— Ativar a injeção do prefixo do host. O SDK acrescentará o prefixo do host ao nome do host do endpoint.

Exemplo de configuração desse valor no arquivo config:

[default] disable_host_prefix_injection = true

Exemplo de configuração de variáveis de ambiente para Linux/macOS por meio da linha de comando:

export AWS_DISABLE_HOST_PREFIX_INJECTION=true

Exemplo do Windows de configuração de variáveis de ambiente por meio da linha de comando:

setx AWS_DISABLE_HOST_PREFIX_INJECTION true

Exemplos de injeção de prefixo de hospedeiro

A tabela de exemplos a seguir mostra como SDKs modificar o endpoint final quando a injeção de prefixo do host está ativada e desativada.

  • Prefixo do host: o modelo da cadeia de caracteres da propriedade do prefixo do host definida no objeto ou variável cliente do SDK no código.

  • Entradas: entradas adicionais definidas no objeto ou variável cliente do SDK no código.

  • Ponto final do cliente: o endpoint derivado do cliente.

  • Valor da configuração: valor resolvido para a configuração anterior.

  • Endpoint resultante: o endpoint resultante que o cliente SDK usa para fazer a chamada à API.

Prefixo do host Entradas Endpoint do cliente Valor de configuração Ponto final resultante
“dados”. {} "https://service.us-west-2.amazonaws.com" false "https://data.service.us-west-2.amazonaws.com"
{Balde} - {AccountId}.” Caçamba: “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"
“dados”. {} "https://override.us-west-2.amazonaws.com"(como um endpoint de substituição) true "https://override.us-west-2.amazonaws.com"

Support by AWS SDKs and tools

Os itens a seguir SDKs oferecem suporte aos recursos e configurações descritos neste tópico. Quaisquer exceções parciais estão anotadas. Todas as configurações de propriedade do sistema JVM são suportadas pelo AWS SDK para Java e pelo AWS SDK para Kotlin único.

SDK Compatível Notas ou mais informações
AWS CLI v2 Sim
SDK para C++ Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: enableHostPrefixInjection.
SDK para Go V2 (1.x) Não Pode ser desativado usando middleware.
SDK para Go 1.x (V1) Não
SDK para Java 2.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION.
SDK para Java 1.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: withDisableHostPrefixInjection.
SDK para 3.x JavaScript Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: disableHostPrefix.
SDK para 2.x JavaScript Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: hostPrefixEnabled.
SDK para Kotlin Não
SDK para .NET 4.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: DisableHostPrefixInjection.
SDK para .NET 3.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: DisableHostPrefixInjection.
SDK para PHP 3.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: disable_host_prefix_injection.
SDK para Python (Boto3) Sim Pode ser configurado em código no cliente usando: inject_host_prefix.
SDK para Ruby 3.x Não A configuração não é suportada, mas pode ser configurada no código do cliente usando: disable_host_prefix_injection.
SDK para Rust Não
SDK para Swift Não
Ferramentas para PowerShell V5 Não A configuração não é suportada, mas pode ser incluída em cmdlets específicos usando o parâmetro. -ClientConfig @{DisableHostPrefixInjection = $true}
Ferramentas para PowerShell V4 Não A configuração não é suportada, mas pode ser incluída em cmdlets específicos usando o parâmetro. -ClientConfig @{DisableHostPrefixInjection = $true}