Regionsübergreifender Zugriff für Amazon S3 - AWS SDK for Java 2.x

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Regionsübergreifender Zugriff für Amazon S3

Wenn Sie mit Amazon Simple Storage Service (Amazon S3) -Buckets arbeiten, kennen Sie normalerweise das AWS-Region für den Bucket. Die Region, mit der Sie arbeiten, wird bei der Erstellung des S3-Clients festgelegt.

Manchmal müssen Sie jedoch möglicherweise mit einem bestimmten Bucket arbeiten, wissen aber nicht, ob sich dieser in derselben Region befindet, die für den S3-Client festgelegt ist.

Anstatt mehr Aufrufe zu tätigen, um die Bucket-Region zu ermitteln, können Sie das SDK verwenden, um den Zugriff auf S3-Buckets in verschiedenen Regionen zu ermöglichen.

Setup

Die Support für den regionsübergreifenden Zugriff wurde mit 2.20.111 der Version des SDK verfügbar. Verwenden Sie diese oder eine neuere Version in Ihrer Maven-Build-Datei für die s3 Abhängigkeit, wie im folgenden Codeausschnitt gezeigt.

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

Wenn Sie als Nächstes Ihren S3-Client erstellen, aktivieren Sie den regionsübergreifenden Zugriff, wie im Snippet gezeigt. Standardmäßig ist der Zugriff nicht aktiviert.

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

Wie das SDK regionsübergreifenden Zugriff bietet

Wenn Sie in einer Anfrage auf einen vorhandenen Bucket verweisen, z. B. wenn Sie die putObject Methode verwenden, initiiert das SDK eine Anfrage an die für den Client konfigurierte Region.

Wenn der Bucket in dieser bestimmten Region nicht existiert, umfasst die Fehlerantwort die tatsächliche Region, in der sich der Bucket befindet. Das SDK verwendet dann in einer zweiten Anfrage die richtige Region.

Um future Anfragen an denselben Bucket zu optimieren, speichert das SDK diese Regionszuweisung im Client zwischen.

Überlegungen

Wenn Sie den regionsübergreifenden Bucket-Zugriff aktivieren, beachten Sie, dass der erste API-Aufruf zu einer erhöhten Latenz führen kann, wenn sich der Bucket nicht in der konfigurierten Region des Clients befindet. Nachfolgende Aufrufe profitieren jedoch von zwischengespeicherten Regionsinformationen, was zu einer verbesserten Leistung führt.

Wenn Sie den regionsübergreifenden Zugriff aktivieren, wird der Zugriff auf den Bucket nicht beeinträchtigt. Der Benutzer muss berechtigt sein, auf den Bucket in der Region zuzugreifen, in der er sich befindet.