

Le AWS SDK pour Java 1.x a été atteint end-of-support le 31 décembre 2025. Nous vous recommandons de migrer vers le pour continuer [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)à bénéficier des nouvelles fonctionnalités, des améliorations de disponibilité et des mises à jour de sécurité.

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.

# Région AWS Sélection
<a name="java-dg-region-selection"></a>

Les régions vous permettent d'accéder à AWS des services qui résident physiquement dans une zone géographique spécifique. Cela peut être utile pour la redondance et pour maintenir vos données et vos applications en cours d'exécution à proximité de l'endroit où vous-même et vos utilisateurs y accédez.

## Vérification de la disponibilité du service dans une région
<a name="region-selection-query-service"></a>

Pour savoir si un produit spécifique Service AWS est disponible dans une région, utilisez la `isServiceSupported` méthode de la région que vous souhaitez utiliser.

```
Region.getRegion(Regions.US_WEST_2)
    .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
```

Consultez la documentation sur la classe [Regions](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/regions/Regions.html) pour les régions que vous pouvez spécifier, et utilisez le préfixe de point de terminaison du service à interroger. Chaque préfixe de point de terminaison du service est défini dans l'interface du service. Par exemple, le préfixe du DynamoDB point de terminaison est défini dans la [AmazonDynamobase de données.](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/dynamodbv2/AmazonDynamoDB.html)

## Choisir une région
<a name="region-selection-choose-region"></a>

À partir de la version 1.4 du AWS SDK pour Java, vous pouvez spécifier un nom de région et le SDK choisira automatiquement un point de terminaison approprié pour vous. Pour choisir le point de terminaison vous-même, consultez [Choix d'un point de terminaison spécifique](#region-selection-choose-endpoint).

Pour définir explicitement une région, nous vous recommandons d'utiliser l'énumération [Regions](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/regions/Regions.html). Il s'agit d'une énumération de toutes les régions disponibles publiquement. Pour créer un client avec une région à partir de l'énumération, utilisez le code suivant.

```
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard()
                    .withRegion(Regions.US_WEST_2)
                    .build();
```

Si la région que vous essayez d'utiliser n'est pas dans l'énumération `Regions`, vous pouvez définir la région à l'aide d'une *chaîne* représentant le nom de la région.

```
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard()
                    .withRegion("{region_api_default}")
                    .build();
```

**Note**  
Une fois que vous avez créé un client avec le générateur, il est *immuable* et la région *ne peut pas être modifiée*. Si vous travaillez avec plusieurs clients Régions AWS pour le même service, vous devez créer plusieurs clients, un par région.

## Choix d'un point de terminaison spécifique
<a name="region-selection-choose-endpoint"></a>

Chaque AWS client peut être configuré pour utiliser un point de *terminaison spécifique* dans une région en appelant la `withEndpointConfiguration` méthode lors de la création du client.

Par exemple, pour configurer le Amazon S3 client afin qu'il utilise la région Europe (Irlande), utilisez le code suivant.

```
AmazonS3 s3 = AmazonS3ClientBuilder.standard()
     .withEndpointConfiguration(new EndpointConfiguration(
          "https://s3.eu-west-1.amazonaws.com",
          "eu-west-1"))
     .withCredentials(CREDENTIALS_PROVIDER)
     .build();
```

Voir [Régions et points de terminaison](https://docs.aws.amazon.com/general/latest/gr/rande.html) pour la liste actuelle des régions et leurs points de terminaison correspondants pour tous les AWS services.

## Déterminer automatiquement la région à partir de l'environnement
<a name="automatically-determine-the-aws-region-from-the-environment"></a>

**Important**  
Cette section s'applique uniquement lors de l'utilisation d'un [générateur de clients](creating-clients.md) pour accéder aux AWS services. AWS les clients créés à l'aide du constructeur client ne détermineront pas automatiquement la région à partir de l'environnement et utiliseront à la place la région du SDK *par défaut* ()USEast1.

Lorsque vous exécutez Lambda Amazon EC2 ou Lambda, vous souhaiterez peut-être configurer les clients pour qu'ils utilisent la même région que celle sur laquelle votre code s'exécute. Votre code est ainsi dissocié de l'environnement d'exécution et le déploiement de votre application sur plusieurs régions dans le but de réduire la latence ou la redondance s'en trouve simplifié.

 *Vous devez utiliser les générateurs clients pour que le kit SDK détecte automatiquement la région dans laquelle votre code s'exécute.* 

Pour utiliser la chaîne de credential/region fournisseurs par défaut afin de déterminer la région à partir de l'environnement, utilisez la `defaultClient` méthode du générateur de clients.

```
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
```

Cette solution est identique à l'utilisation de `standard` suivi par `build`.

```
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard()
                    .build();
```

Si vous ne définissez pas explicitement une région à l'aide des méthodes `withRegion`, le kit SDK consulte la chaîne du fournisseur de région par défaut afin d'essayer de déterminer la région à utiliser.

### Chaîne du fournisseur de région par défaut
<a name="default-region-provider-chain"></a>

 **Le processus de recherche d'une région est le suivant :** 

1. Toute région explicite définie en utilisant `withRegion` ou `setRegion` sur le générateur lui-même prévaut sur toute autre région.

1. La variable d'environnement `AWS_REGION` est contrôlée. Si elle est définie, cette région est utilisée pour configurer le client.
**Note**  
Cette variable d'environnement est définie par le Lambda conteneur.

1. Le SDK vérifie le fichier de configuration AWS partagé (généralement situé à l'adresse`~/.aws/config`). Si la propriété *region* est présente, le kit SDK l'utilise.
   + La variable d'environnement `AWS_CONFIG_FILE` peut être utilisée pour personnaliser l'emplacement du fichier de configuration partagé.
   + La variable d'`AWS_PROFILE`environnement ou la propriété `aws.profile` système peuvent être utilisées pour personnaliser le profil chargé par le SDK.

1. Le SDK tente d'utiliser le service de métadonnées d' Amazon EC2 instance pour déterminer la région de l' Amazon EC2 instance en cours d'exécution.

1. Si le kit SDK n'a toujours pas trouvé de région par ce biais, la création du client échoue et une exception est levée.

Lors du développement d' AWS applications, une approche courante consiste à utiliser le *fichier de configuration partagé* (décrit dans [Utilisation de la chaîne de fournisseurs d'informations d'identification par défaut](credentials.md#credentials-default)) pour définir la région pour le développement local, et à s'appuyer sur la chaîne de fournisseurs de régions par défaut pour déterminer la région lors de l'exécution sur une AWS infrastructure. La création du client s'en trouve ainsi grandement simplifiée et votre application demeure portable.