Injection du préfixe hôte - AWS SDKs et outils

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Injection du préfixe hôte

Note

Pour vous aider à comprendre la mise en page des pages de paramètres ou à interpréter le tableau Support by AWS SDKs et outils ci-dessous, voirComprendre les pages de paramètres de ce guide.

L'injection de préfixe d'hôte est une fonctionnalité qui permet d'ajouter AWS SDKs automatiquement un préfixe au nom d'hôte des points de terminaison de service pour certaines opérations d'API. Ce préfixe peut être une chaîne statique ou une valeur dynamique qui inclut les données des paramètres de votre demande.

Par exemple, lorsque vous utilisez Amazon Simple Storage Service pour effectuer des actions sur des objets ou des compartiments Amazon S3, le SDK remplace le nom et l' Compte AWS ID de votre compartiment dans le point de terminaison final de l'API.

Bien que ce comportement soit requis pour les points de terminaison de AWS service normaux, il peut poser des problèmes lors de l'utilisation de points de terminaison personnalisés tels que des points de terminaison VPC ou des outils de test locaux. Dans ces cas, vous devrez peut-être désactiver l'injection de préfixe d'hôte.

Configurez cette fonctionnalité à l'aide des méthodes suivantes :

disable_host_prefix_injection- réglage AWS config du fichier partagé
AWS_DISABLE_HOST_PREFIX_INJECTION- variable d'environnement
aws.disableHostPrefixInjection- Propriété du système JVM : uniquement Java/Kotlin

Ce paramètre détermine si le SDK ou l'outil modifiera le nom d'hôte du point de terminaison en ajoutant un préfixe d'hôte tel que défini dans l'objet ou la variable client de votre SDK.

Valeur par défaut : false

Valeurs valides:

  • true— Désactive l'injection de préfixe d'hôte. Le SDK ne modifiera pas le nom d'hôte du point de terminaison.

  • false— Active l'injection de préfixe d'hôte. Le SDK ajoutera le préfixe d'hôte au nom d'hôte du point de terminaison.

Exemple de définition de cette valeur dans le config fichier :

[default] disable_host_prefix_injection = true

Exemple Linux/macOS de définition de variables d'environnement via la ligne de commande :

export AWS_DISABLE_HOST_PREFIX_INJECTION=true

Exemple Windows de définition de variables d'environnement via la ligne de commande :

setx AWS_DISABLE_HOST_PREFIX_INJECTION true

Exemples d'injection de préfixes d'hôte

Le tableau d'exemples suivant montre comment SDKs modifier le point de terminaison final lorsque l'injection de préfixe d'hôte est activée ou désactivée.

  • Préfixe d'hôte : modèle de chaîne de propriété de préfixe d'hôte définie dans le code sur l'objet ou la variable client du SDK.

  • Entrées : entrées supplémentaires définies sur l'objet client ou la variable du SDK dans le code.

  • Point de terminaison du client : point de terminaison dérivé du client.

  • Valeur de réglage : valeur résolue pour le paramètre précédent.

  • Point de terminaison résultant : point de terminaison obtenu que le client du SDK utilise pour effectuer l'appel d'API.

Préfixe de l'hôte Inputs Point de terminaison client Valeur de réglage Point final résultant
« données ». {} "https://service.us-west-2.amazonaws.com" false "https://data.service.us-west-2.amazonaws.com"
« {Seau} - {AccountId}. » Seau : « 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"
« données ». {} "https://override.us-west-2.amazonaws.com"(en tant que point de terminaison de remplacement) true "https://override.us-west-2.amazonaws.com"

Support par AWS SDKs et outils

Les éléments suivants SDKs prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toute exception partielle est notée. Tous les paramètres de propriété du système JVM sont pris en charge par le AWS SDK pour Java et le AWS SDK pour Kotlin seul.

SDK Pris en charge Remarques ou informations supplémentaires
AWS CLI v2 Oui
SDK pour C++ Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : enableHostPrefixInjection.
SDK pour Go V2 (1.x) Non Peut être désactivé à l'aide d'un intergiciel.
SDK pour Go 1.x (V1) Non
SDK pour Java 2.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION.
SDK pour Java 1.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : withDisableHostPrefixInjection.
SDK pour 3.x JavaScript Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : disableHostPrefix.
SDK pour 2.x JavaScript Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : hostPrefixEnabled.
SDK pour Kotlin Non
SDK pour .NET 4.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : DisableHostPrefixInjection.
SDK pour .NET 3.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : DisableHostPrefixInjection.
SDK pour PHP 3.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : disable_host_prefix_injection.
SDK pour Python (Boto3) Oui Peut être configuré en code sur le client en utilisant : inject_host_prefix.
SDK pour Ruby 3.x Non Le paramètre n'est pas pris en charge, mais peut être configuré dans le code sur le client en utilisant : disable_host_prefix_injection.
SDK pour Rust Non
SDK pour Swift Non
Outils pour PowerShell V5 Non Le paramètre n'est pas pris en charge, mais peut être inclus dans des applets de commande spécifiques à l'aide de paramètres. -ClientConfig @{DisableHostPrefixInjection = $true}
Outils pour PowerShell V4 Non Le paramètre n'est pas pris en charge, mais peut être inclus dans des applets de commande spécifiques à l'aide de paramètres. -ClientConfig @{DisableHostPrefixInjection = $true}