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.

Configuration

Support pour l'accès interrégional est devenu disponible avec la version 2.20.111 duSDK. 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.27.21</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 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, SDK une demande est envoyée à 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 où réside le compartiment. Il utilise SDK ensuite la bonne région dans une deuxième demande.

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

Considérations

Lorsque vous activez l'accès au compartiment entre régions, sachez que le premier API appel 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 régionales 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.