

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
<a name="feature-ss-endpoints"></a>

**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, voir[Comprendre les pages de paramètres de ce guide](settings-reference.md#settingsPages).

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

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

**`endpoint_url`- réglage AWS `config` du fichier partagé`AWS_ENDPOINT_URL`- variable d'environnement`aws.endpointUrl`- Propriété du système JVM : uniquement Java/Kotlin **  
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 AWS `config` fichier partagé 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, consultez[Identifiants pour les points de terminaison spécifiques au service](ss-endpoints-table.md).  
**Valeur par défaut** : `none`  
**Valeurs valides :** URL incluant le schéma et l'hôte du point de terminaison. L'URL peut éventuellement contenir un composant de chemin contenant un ou plusieurs segments de chemin.

**`AWS_ENDPOINT_URL_<SERVICE>`- variable d'environnement`aws.endpointUrl<ServiceName>`- Propriété du système JVM : uniquement Java/Kotlin **  
`AWS_ENDPOINT_URL_<SERVICE>`, où `<SERVICE>` est l' 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 aux services, consultez. [Identifiants pour les points de terminaison spécifiques au service](ss-endpoints-table.md)   
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 :** URL incluant le schéma et l'hôte du point de terminaison. L'URL peut éventuellement contenir un composant de chemin contenant un ou plusieurs segments de chemin.

**`ignore_configured_endpoint_urls`- réglage AWS `config` du fichier partagé`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS`- variable d'environnement`aws.ignoreConfiguredEndpointUrls`- Propriété du système JVM : uniquement Java/Kotlin **  
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, l'inclusion du paramètre de ligne de `--endpoint-url` commande dans une AWS CLI commande ou la transmission d'une URL de point de terminaison à un constructeur client prendra toujours effet.  
**Valeur par défaut** : `false`  
**Valeurs valides**:  
+ **`true`**— Le SDK ou l'outil ne lit aucune option de configuration personnalisée à partir du `config` fichier partagé ou des variables d'environnement pour définir l'URL d'un point de terminaison.
+ **`false`**— Le SDK ou l'outil 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
<a name="ss-endpoints-envar"></a>

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

```
export AWS_ENDPOINT_URL={{http://localhost:4567}}
```

Pour acheminer les demandes d'une URL de point de terminaison spécifique Service AWS vers une URL de point de terminaison personnalisée, utilisez la variable d'`AWS_ENDPOINT_URL_<SERVICE>`environnement. Amazon DynamoDB a un `serviceId` de [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10). Pour ce service, la variable d’environnement de l’URL du point de terminaison est `AWS_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}}
```

 Comme autre exemple, AWS Elastic Beanstalk possède un `serviceId` de [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). L' Service AWS identifiant est basé sur le modèle d'API `serviceId` en remplaçant tous les espaces par des traits de soulignement et en majuscules toutes les lettres. Pour définir le point de terminaison de ce service, la variable d'environnement correspondante est`AWS_ENDPOINT_URL_ELASTIC_BEANSTALK`. Pour obtenir la liste de toutes les variables d’environnement spécifiques aux services, consultez. [Identifiants pour les points de terminaison spécifiques au service](ss-endpoints-table.md) 

```
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK={{http://localhost:5567}}
```

## Configuration des points de terminaison à l'aide du fichier partagé `config`
<a name="ss-endpoints-config"></a>

Dans le `config` fichier partagé, `endpoint_url` il est utilisé à différents endroits pour différentes fonctionnalités.
+ `endpoint_url`spécifié directement dans a `profile` fait de ce point de terminaison le point de terminaison global. 
+ `endpoint_url`imbriqué 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 section `services` dans votre fichier `config` partagé, consultez [Format du fichier de configuration](file-format.md#file-format-config). 

 L'exemple suivant utilise une `services` définition pour configurer une URL de point de terminaison spécifique au service à 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 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/elasticbeanstalk/2010-12-01/service-2.json#L9). L' Service AWS identifiant est basé sur le modèle d'API `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 ligne`elastic_beanstalk = `. Pour obtenir la liste de toutes les clés d’identification de service à utiliser dans la section `services`, consultez [Identifiants pour les points de terminaison spécifiques au service](ss-endpoints-table.md). 

```
[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
<a name="ss-endpoints-role"></a>

Si votre profil comporte des informations d’identification basées sur un rôle configurées via un paramètre `source_profile` pour la fonctionnalité de rôle de responsable IAM, le kit SDK utilise 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 fichier `config` 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 effectuez un appel dans votre code à Amazon EC2, le point de terminaison est résolu en `https://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 n’est pas résolu en point de terminaison global défini dans le profil `A`. Pour qu’un point de terminaison global prenne effet pour le profil `B`, vous devez définir `endpoint_url` directement dans le profil `B`. Pour plus d'informations sur le paramètre `source_profile`, consultez [Assumer le rôle de fournisseur d'informations d'identification](feature-assume-role-credentials.md). 

## Priorité des paramètres
<a name="ss-endpoints-precedence"></a>

 Les paramètres de cette fonctionnalité peuvent être utilisés simultanément, mais une seule valeur sera prioritaire par service. Pour les appels d'API effectués vers une valeur 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 le AWS CLI, il s'agit de la valeur fournie par le paramètre de ligne de `--endpoint-url` commande. Pour un SDK, les attributions explicites peuvent prendre la forme d'un paramètre que vous définissez lorsque vous instanciez un Service AWS client ou un objet de configuration.

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

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

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

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

1. Toute URL de point de terminaison par défaut pour le point de terminaison correspondant Service AWS est utilisée en dernier.

## Support par AWS SDKs et outils
<a name="ss-endpoints-sdk-compat"></a>

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.


| Kit SDK | Pris en charge | Remarques ou informations supplémentaires | 
| --- | --- | --- | 
| [AWS CLI  ](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | Oui |  | 
| [SDK pour C\+\+](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | Oui |  | 
| [SDK pour Go V2 (1.x)](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | Oui |  | 
| [SDK pour Go 1.x (V1)](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | Non |  | 
| [SDK pour Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | Oui |  | 
| [SDK pour Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | Non |  | 
| [SDK pour 3.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | Oui |  | 
| [SDK pour 2.x JavaScript ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | Non |  | 
| [SDK pour Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | Oui |  | 
| [SDK pour .NET 4.x](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | Oui |  | 
| [SDK pour .NET 3.x](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | Oui |  | 
| [SDK pour PHP 3.x](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | Oui |  | 
| [SDK pour Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) | Oui |  | 
| [SDK pour Ruby 3.x](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | Oui |  | 
| [SDK pour Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | Oui |  | 
| [SDK pour Swift](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | Oui |  | 
| [Outils pour PowerShell V5](https://docs.aws.amazon.com/powershell/latest/userguide/) | Oui |  | 
| [Outils pour PowerShell V4](https://docs.aws.amazon.com/powershell/v4/userguide/) | Oui |  | 