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 AWSconfig
arquivo compartilhadoAWS_DISABLE_HOST_PREFIX_INJECTION
: variável de ambienteaws.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} |