Arbeiten Sie mit 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.

Arbeiten Sie mit Amazon S3

Dieser Abschnitt enthält Beispiele für die Programmierung mit Amazon Simple Storage Service (S3) unter Verwendung von AWS SDK for Java 2.x.

Die folgenden Beispiele enthalten nur den Code, der zur Demonstration jeder Technik nötig ist. Der vollständige Beispielcode ist verfügbar unter GitHub. Von dort aus können Sie eine einzelne Quelldatei herunterladen oder das Repository klonen, um alle Beispiele lokal zu erstellen und auszuführen.

Anmerkung

Ab Version 2.18.x AWS SDK for Java 2.x verwendet der eine Adressierung im Stil eines virtuellen Hosts, wenn eine Endpunkt-Override enthalten ist. Dies gilt, solange der Bucket-Name ein gültiges Label ist. DNS

Rufen Sie die forcePathStyleMethode with true in Ihrem Client-Builder auf, um den Client zu zwingen, die Pfadadressierung für Buckets zu verwenden.

Das folgende Beispiel zeigt einen Service-Client, der mit einer Endpunktüberschreibung konfiguriert ist und eine Pfadadressierung verwendet.

S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();

Verwenden Sie Access Points oder Access Points für mehrere Regionen

Nachdem Amazon S3 S3-Access Points oder Multi-Region-Access Points eingerichtet wurden, können Sie Objektmethoden wie putObject und aufrufen getObject und die Access Point-ID anstelle eines Bucket-Namens angeben.

Wenn eine Access ARN Point-ID beispielsweise lautetarn:aws:s3:us-west-2:123456789012:accesspoint/test, können Sie den folgenden Ausschnitt verwenden, um die Methode aufzurufen. putObject

Path path = Paths.get(URI.create("file:///temp/file.txt")); s3Client.putObject(builder -> builder .key("myKey") .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint/test") , path);

Anstelle der ARN Zeichenfolge können Sie auch den Bucket-Alias des Access Points für den Parameter verwenden. bucket

Um den Multi-Region Access Point zu verwenden, ersetzen Sie den bucket Parameter durch den Multi-Region Access PointARN, der das folgende Format hat.

arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias

Fügen Sie die folgende Maven-Abhängigkeit hinzu, um mit Multi-Region-Access Points zu arbeiten, indem Sie für Java verwenden. SDK Suchen Sie in Maven Central nach der neuesten Version.

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>auth-crt</artifactId> <version>VERSION</version> </dependency>