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 AWSconfigfile condivisiAWS_DISABLE_HOST_PREFIX_INJECTION- variabile d'ambienteaws.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:
falseValori 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} |