Points de terminaison spécifiques au service - AWS SDKset 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.

Points de terminaison spécifiques au service

La configuration du point de terminaison spécifique au service offre la possibilité d'utiliser un point de terminaison de votre choix pour les API demandes et de conserver ce choix. Ces paramètres offrent la flexibilité nécessaire pour prendre en charge les points de terminaison locaux, les points de VPC terminaison et les points de terminaison locaux tiers AWS environnements de développement. Différents points de terminaison peuvent être utilisés pour les environnements de test et de production. Vous pouvez spécifier un point de terminaison URL pour un individu Services AWS.

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

endpoint_url- partagé AWS configréglage du fichier
AWS_ENDPOINT_URL- variable d'environnement
aws.endpointUrl- propriété JVM du système : Java/Kotlin uniquement

Lorsqu'il est spécifié directement dans un profil ou en tant que variable d'environnement, ce paramètre indique le point de terminaison utilisé pour toutes les demandes de service. Ce point de terminaison est remplacé par tout point de terminaison spécifique au service configuré.

Vous pouvez également utiliser ce paramètre dans une services section d'un partage AWS configfichier pour définir un point de terminaison personnalisé pour un service spécifique. Pour obtenir la liste de toutes les clés d'identification de service à utiliser pour les sous-sections de services cette section, consultezIdentifiants pour les points de terminaison spécifiques au service.

Valeur par défaut : none

Valeurs valides : AURL, y compris le schéma et l'hôte du point de terminaison. Ils URL peuvent éventuellement contenir un composant de chemin qui contient un ou plusieurs segments de chemin.

AWS_ENDPOINT_URL_<SERVICE>- variable d'environnement
aws.endpointUrl<ServiceName>- propriété JVM du système : Java/Kotlin uniquement

AWS_ENDPOINT_URL_<SERVICE>, où se <SERVICE> trouve le Service AWS identifiant, définit un point de terminaison personnalisé pour un service spécifique. Pour obtenir la liste de toutes les variables d'environnement spécifiques au service, consultez. Identifiants pour les points de terminaison spécifiques au service

Ce point de terminaison spécifique au service remplace tout point de terminaison global défini dans. AWS_ENDPOINT_URL

Valeur par défaut : none

Valeurs valides : AURL, y compris le schéma et l'hôte du point de terminaison. Ils URL peuvent éventuellement contenir un composant de chemin qui contient un ou plusieurs segments de chemin.

ignore_configured_endpoint_urls- partagé AWS configréglage du fichier
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS- variable d'environnement
aws.ignoreConfiguredEndpointUrls- propriété JVM du système : Java/Kotlin uniquement

Ce paramètre est utilisé pour ignorer toutes les configurations de points de terminaison personnalisées.

Notez que tout point de terminaison explicite défini dans le code ou sur un client de service lui-même est utilisé quel que soit ce paramètre. Par exemple, inclure le paramètre de ligne de --endpoint-url commande avec un AWS CLI une commande ou le passage d'un point de terminaison URL à un constructeur client prendra toujours effet.

Valeur par défaut : false

Valeurs valides:

  • true— L'outil SDK or ne lit aucune option de configuration personnalisée à partir du config fichier partagé ou des variables d'environnement pour définir un point de terminaisonURL.

  • false— L'outil SDK or utilise tous les points de terminaison disponibles fournis par l'utilisateur à partir du config fichier partagé ou des variables d'environnement.

Configuration des points de terminaison à l'aide de variables d'environnement

Pour acheminer les demandes de tous les services vers un point de terminaison personnaliséURL, définissez la variable d'environnement AWS_ENDPOINT_URL globale.

export AWS_ENDPOINT_URL=http://localhost:4567

Pour acheminer les demandes relatives à un Service AWS pour un point de terminaison personnaliséURL, utilisez la variable d'AWS_ENDPOINT_URL_<SERVICE>environnement. Amazon DynamoDB a un serviceId de DynamoDB. Pour ce service, la variable d'URLenvironnement du point de terminaison estAWS_ENDPOINT_URL_DYNAMODB. Ce point de terminaison a priorité sur le point de terminaison global défini AWS_ENDPOINT_URL pour ce service.

export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678

Autre exemple, AWS Elastic Beanstalk a un serviceId de Elastic Beanstalk. Le Service AWS l'identifiant est basé sur celui du API modèle serviceId en remplaçant tous les espaces par des traits de soulignement et en majuscules de toutes les lettres. Pour définir le point de terminaison de ce service, la variable d'environnement correspondante estAWS_ENDPOINT_URL_ELASTIC_BEANSTALK. Pour obtenir la liste de toutes les variables d'environnement spécifiques au service, consultez. Identifiants pour les points de terminaison spécifiques au service

export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567

Configuration des points de terminaison à l'aide du fichier partagé config

Dans le config fichier partagé, endpoint_url il est utilisé à différents endroits pour différentes fonctionnalités.

  • endpoint_urlspécifié directement dans a profile fait de ce point de terminaison le point de terminaison global.

  • endpoint_urlimbriqué sous une clé d'identification de service dans une services section, ce point de terminaison s'applique aux demandes adressées uniquement à ce service. Pour plus de détails sur la définition d'une services section dans votre config fichier partagé, consultezFormat du fichier de configuration.

L'exemple suivant utilise une services définition pour configurer un point de terminaison spécifique au service URL à utiliser pour Amazon S3 et un point de terminaison global personnalisé à utiliser pour tous les autres services :

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = https://play.min.io:9000

Un profil unique peut configurer des points de terminaison pour plusieurs services. Cet exemple montre comment définir le point de terminaison spécifique au service URLs pour Amazon S3 et AWS Elastic Beanstalk dans le même profil. AWS Elastic Beanstalk a un serviceId de Elastic Beanstalk. Le Service AWS l'identifiant est basé sur celui du API modèle serviceId en remplaçant tous les espaces par des traits de soulignement et en minuscules toutes les lettres. Ainsi, la clé d'identification du service devient elastic_beanstalk et les paramètres de ce service commencent sur la ligneelastic_beanstalk = . Pour obtenir la liste de toutes les clés d'identification de service à utiliser dans services cette section, consultezIdentifiants pour les points de terminaison spécifiques au service.

[services testing-s3-and-eb] s3 = endpoint_url = http://localhost:4567 elastic_beanstalk = endpoint_url = http://localhost:8000 [profile dev] services = testing-s3-and-eb

La section de configuration du service peut être utilisée à partir de plusieurs profils. Par exemple, deux profils peuvent utiliser la même services définition tout en modifiant d'autres propriétés de profil :

[services testing-s3] s3 = endpoint_url = https://localhost:4567 [profile testing-json] output = json services = testing-s3 [profile testing-text] output = text services = testing-s3

Configurer les points de terminaison dans les profils à l'aide d'informations d'identification basées sur les rôles

Si votre profil possède des informations d'identification basées sur les rôles configurées via un source_profile paramètre pour la fonctionnalité d'IAMassumer un rôle, il utilise SDK uniquement les configurations de service pour le profil spécifié. Il n'utilise pas de profils auxquels des rôles sont liés. Par exemple, en utilisant le config fichier partagé suivant :

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

Si vous utilisez le profil B et que vous appelez Amazon dans votre codeEC2, le point de terminaison est résolu commehttps://profile-b-ec2-endpoint.aws. Si votre code envoie une demande à un autre service, la résolution du point de terminaison ne suivra aucune logique personnalisée. Le point de terminaison ne correspond pas au point de terminaison global défini dans le profilA. Pour qu'un point de terminaison global prenne effet pour B le profil, vous devez le définir endpoint_url directement dans le profilB. Pour plus d'informations sur le paramètre source_profile, consultez Assumer le rôle de fournisseur d'informations d'identification.

Priorité des paramètres

Les paramètres de cette fonctionnalité peuvent être utilisés simultanément, mais une seule valeur sera prioritaire par service. Pour les API appels passés vers une destination donnée Service AWS, l'ordre suivant est utilisé pour sélectionner une valeur :

  1. Tout paramètre explicite défini dans le code ou sur un client de service lui-même a priorité sur tout autre paramètre.

    • Pour AWS CLI, il s'agit de la valeur fournie par le paramètre de ligne de --endpoint-url commande. Par exempleSDK, les assignations explicites peuvent prendre la forme d'un paramètre que vous définissez lorsque vous instanciez un Service AWS client ou objet de configuration.

  2. La valeur fournie par une variable d'environnement spécifique au service, telle que. AWS_ENDPOINT_URL_DYNAMODB

  3. La valeur fournie par la variable d'environnement AWS_ENDPOINT_URL globale du point de terminaison.

  4. Valeur fournie par le endpoint_url paramètre imbriqué sous une clé d'identification de service dans une services section du config fichier partagé.

  5. La valeur fournie par le endpoint_url paramètre spécifié directement dans un profile config fichier partagé.

  6. Tout point de terminaison par défaut URL pour le Service AWS est utilisé en dernier.

Compatibilité avec AWS SDKs

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 des propriétés du JVM système sont pris en charge par AWS SDK for Java et le Kit AWS SDK pour Kotlin uniquement.