View a markdown version of this page

Iniezione del prefisso host - AWS SDK e strumenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Iniezione del prefisso host

Nota

Per informazioni sulla comprensione del layout delle pagine delle impostazioni o sull'interpretazione della tabella Support by AWS SDKs and tools che segue, vedere. Informazioni sulle pagine delle impostazioni di questa guida

L'iniezione del prefisso host è una funzionalità in cui gli AWS SDK antepongono automaticamente un prefisso al nome host degli endpoint del servizio per determinate operazioni API. Questo prefisso può essere una stringa statica o un valore dinamico che include i dati dei parametri della richiesta.

Ad esempio, quando si utilizza Amazon Simple Storage Service per eseguire azioni su oggetti o bucket Amazon S3, l'SDK sostituisce il nome e l' Account AWS ID del bucket nell'endpoint API finale.

Sebbene questo comportamento sia richiesto per i normali endpoint di AWS servizio, può causare problemi quando si utilizzano endpoint personalizzati come endpoint VPC o strumenti di test locali. In questi casi, potrebbe essere necessario disabilitare l'inserimento del prefisso host.

Configurate questa funzionalità utilizzando quanto segue:

disable_host_prefix_injection- impostazione dei AWS config file condivisi
AWS_DISABLE_HOST_PREFIX_INJECTION- variabile d'ambiente
aws.disableHostPrefixInjection- Proprietà del sistema JVM: solo Java/Kotlin

Questa impostazione controlla se l'SDK o lo strumento modificheranno il nome host dell'endpoint anteponendo un prefisso host come definito nell'oggetto o nella variabile client dell'SDK.

Valore predefinito: false

Valori validi:

  • true— Disabilita l'iniezione del prefisso dell'host. L'SDK non modificherà il nome host dell'endpoint.

  • false— Abilita l'inserimento del prefisso dell'host. L'SDK anteporrà il prefisso dell'host al nome host dell'endpoint.

Esempio di impostazione di questo valore nel file: config

[default] disable_host_prefix_injection = true

Linux/macOS esempio di impostazione delle variabili di ambiente tramite riga di comando:

export AWS_DISABLE_HOST_PREFIX_INJECTION=true

Esempio Windows di impostazione delle variabili di ambiente tramite riga di comando:

setx AWS_DISABLE_HOST_PREFIX_INJECTION true

Esempi di inserimento del prefisso host

La seguente tabella di esempi mostra come gli SDK modificano l'endpoint finale quando l'iniezione del prefisso host è abilitata e disabilitata.

  • Prefisso host: il modello della stringa della proprietà del prefisso host impostata sull'oggetto client o sulla variabile nel codice dell'SDK.

  • Ingressi: input aggiuntivi impostati sull'oggetto client o sulla variabile nel codice dell'SDK.

  • Endpoint del cliente: l'endpoint derivato del cliente.

  • Valore di impostazione: valore risolto per l'impostazione precedente.

  • Endpoint risultante: l'endpoint risultante utilizzato dal client SDK per effettuare la chiamata API.

Prefisso host Input Endpoint del cliente Impostazione del valore Endpoint risultante
«dati». {} "https://service.us-west-2.amazonaws.com" false "https://data.service.us-west-2.amazonaws.com"
«{Bucket} - {AccountId}». Secchio: «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"
«dati». {} "https://override.us-west-2.amazonaws.com"(come endpoint sostitutivo) true "https://override.us-west-2.amazonaws.com"

Supporto di AWS SDK e strumenti

I seguenti SDK supportano le funzionalità e le impostazioni descritte in questo argomento. Vengono annotate eventuali eccezioni parziali. Tutte le impostazioni delle proprietà del sistema JVM sono supportate da AWS SDK per Java and the only. AWS SDK per Kotlin

SDK Supportata Note o ulteriori informazioni
AWS CLI   v2 Sì
SDK per C++ No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. enableHostPrefixInjection
SDK per Go V2 (1.x) No Può essere disabilitato utilizzando il middleware.
SDK per Go 1.x (V1) No
SDK per Java 2.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION
SDK per Java 1.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. withDisableHostPrefixInjection
SDK per 3.x JavaScript No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. disableHostPrefix
SDK per 2.x JavaScript No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. hostPrefixEnabled
SDK per Kotlin No
SDK per .NET 4.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. DisableHostPrefixInjection
SDK per .NET 3.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. DisableHostPrefixInjection
SDK per PHP 3.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. disable_host_prefix_injection
SDK per Python (Boto3) Sì Può essere configurato in codice sul client utilizzando:. inject_host_prefix
SDK per Ruby 3.x No L'impostazione non è supportata, ma può essere configurata in codice sul client utilizzando:. disable_host_prefix_injection
SDK per Rust No
SDK per Swift No
Strumenti per V5 PowerShell No L'impostazione non è supportata, ma può essere inclusa in cmdlet specifici utilizzando il parametro. -ClientConfig @{DisableHostPrefixInjection = $true}
Strumenti per V4 PowerShell No L'impostazione non è supportata, ma può essere inclusa in cmdlet specifici utilizzando il parametro. -ClientConfig @{DisableHostPrefixInjection = $true}