Accès entre régions pour Amazon S3 - AWS SDK for Java 2.x

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.

Accès entre régions pour Amazon S3

Lorsque vous travaillez avec des compartiments Amazon Simple Storage Service (Amazon S3), vous connaissez généralement Région AWS le compartiment correspondant. La région avec laquelle vous travaillez est déterminée lorsque vous créez le client S3.

Cependant, il peut arriver que vous deviez travailler avec un compartiment spécifique, mais vous ne savez pas s'il se trouve dans la même région que celle définie pour le client S3.

Au lieu de passer d'autres appels pour déterminer la région du compartiment, vous pouvez utiliser le SDK pour permettre l'accès aux compartiments S3 dans différentes régions.

Installation

Support pour l'accès interrégional est devenu disponible avec la version 2.20.111 du SDK. Utilisez cette version ou une version ultérieure dans votre fichier de build Maven pour la s3 dépendance, comme indiqué dans l'extrait suivant.

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>2.20.111</version> </dependency>

Ensuite, lorsque vous créez votre client S3, activez l'accès entre régions comme indiqué dans l'extrait de code. Par défaut, l'accès n'est pas activé.

S3AsyncClient client = S3AsyncClient.builder() .crossRegionAccessEnabled(true) .build();

Comment le SDK fournit un accès interrégional

Lorsque vous faites référence à un compartiment existant dans une demande, par exemple lorsque vous utilisez la putObject méthode, le SDK lance une demande auprès de la région configurée pour le client.

Si le compartiment n'existe pas dans cette région spécifique, la réponse d'erreur inclut la région dans laquelle réside le compartiment. Le SDK utilise ensuite la région appropriée dans une deuxième demande.

Pour optimiser les futures demandes adressées au même compartiment, le SDK met en cache ce mappage de région dans le client.

Considérations

Lorsque vous activez l'accès au compartiment entre régions, sachez que le premier appel d'API peut entraîner une augmentation de la latence si le compartiment ne se trouve pas dans la région configurée par le client. Cependant, les appels suivants bénéficient des informations de région mises en cache, ce qui améliore les performances.

Lorsque vous activez l'accès entre régions, l'accès au compartiment n'est pas affecté. L'utilisateur doit être autorisé à accéder au bucket, quelle que soit la région dans laquelle il réside.