

Die Version AWS SDK für Java 1.x wurde end-of-support am 31. Dezember 2025 erreicht. Wir empfehlen Ihnen, auf den zu migrieren [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html), um weiterhin neue Funktionen, Verfügbarkeitsverbesserungen und Sicherheitsupdates zu erhalten.

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.

# Amazon S3 Buckets erstellen, auflisten und löschen
<a name="examples-s3-buckets"></a>

Jedes Objekt (Datei) Amazon S3 muss sich in einem *Bucket* befinden, der eine Sammlung (Container) von Objekten darstellt. Jeder Bucket ist mit einem *Schlüssel* (Namen) bekannt, der eindeutig sein muss. Ausführliche Informationen zu Buckets und ihrer Konfiguration finden Sie unter [Arbeiten mit Amazon S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) im Amazon Simple Storage Service Benutzerhandbuch.

**Anmerkung**  
Bewährte Methode  
Wir empfehlen, dass Sie die [AbortIncompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)Lebenszyklusregel für Ihre Amazon S3 Buckets aktivieren.  
Diese Regel weist darauf Amazon S3 hin, dass mehrteilige Uploads abgebrochen werden, die nicht innerhalb einer bestimmten Anzahl von Tagen nach der Initiierung abgeschlossen werden. Wenn das festgelegte Zeitlimit überschritten wird, wird der Upload Amazon S3 abgebrochen und anschließend die unvollständigen Upload-Daten gelöscht.  
Weitere Informationen finden Sie unter [Lebenszykluskonfiguration für einen Bucket mit Versionierung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-bucket-with-versioning.html) im Amazon S3 Benutzerhandbuch.

**Anmerkung**  
Bei diesen Codebeispielen wird vorausgesetzt, dass Sie die Informationen [unter Verwenden von](basics.md) verstehen AWS SDK für Java und AWS Standardanmeldedaten anhand der Informationen unter [AWS Anmeldeinformationen einrichten und Region für die Entwicklung](setup-credentials.md) konfiguriert haben.

## Bucket erstellen
<a name="create-bucket"></a>

Verwenden Sie die Methode des AmazonS3-Clients. `createBucket` Der neue [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html) wird zurückgegeben. Die `createBucket`-Methode löst eine Ausnahme aus, falls der Bucket bereits vorhanden ist.

**Anmerkung**  
Bevor Sie versuchen, einen Bucket zu erstellen, sollten Sie die `doesBucketExist`-Methode aufrufen, um zu prüfen, ob ein gleichnamiger Bucket bereits existiert. Falls ja, wird `true` zurückgegeben, andernfalls `false`.

 **Importe** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Code** 

```
if (s3.doesBucketExistV2(bucket_name)) {
    System.out.format("Bucket %s already exists.\n", bucket_name);
    b = getBucket(bucket_name);
} else {
    try {
        b = s3.createBucket(bucket_name);
    } catch (AmazonS3Exception e) {
        System.err.println(e.getErrorMessage());
    }
}
return b;
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/CreateBucket.java) finden Sie unter. GitHub

## Auflisten von Buckets
<a name="list-buckets"></a>

Verwenden Sie die Methode des AmazonS3-Clients. `listBucket` Wenn diese Aktion erfolgreich ist, wird eine Liste mit [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html)-Objekten zurückgegeben.

 **Importe** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Code** 

```
List<Bucket> buckets = s3.listBuckets();
System.out.println("Your {S3} buckets are:");
for (Bucket b : buckets) {
    System.out.println("* " + b.getName());
}
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/ListBuckets.java) finden Sie unter. GitHub

## Bucket löschen
<a name="delete-bucket"></a>

Bevor Sie einen Amazon S3 Bucket löschen können, müssen Sie sicherstellen, dass der Bucket leer ist. Andernfalls tritt ein Fehler auf. Wenn Sie einen [versionierten Bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) nutzen, müssen Sie außerdem alle versionierten Objekte löschen, die mit dem Bucket verknüpft sind.

**Anmerkung**  
Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) umfasst die einzelnen Schritte der Reihe nach und bietet somit eine vollständige Lösung für das Löschen eines Amazon S3 Buckets und seines Inhalts.

**Topics**
+ [Entfernen von Objekten aus einem nicht versionierten Bucket vor dem Löschen](#remove-objects-from-an-unversioned-bucket-before-deleting-it)
+ [Entfernen von Objekten aus einem versionierten Bucket vor dem Löschen](#remove-objects-from-a-versioned-bucket-before-deleting-it)
+ [Löschen eines leeren Buckets](#delete-an-empty-bucket)

### Entfernen von Objekten aus einem nicht versionierten Bucket vor dem Löschen
<a name="remove-objects-from-an-unversioned-bucket-before-deleting-it"></a>

Verwenden Sie die `listObjects` Methode des AmazonS3-Clients, um die Objektliste abzurufen und jedes Objekt `deleteObject` zu löschen.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Code** 

```
System.out.println(" - removing objects from bucket");
ObjectListing object_listing = s3.listObjects(bucket_name);
while (true) {
    for (Iterator<?> iterator =
         object_listing.getObjectSummaries().iterator();
         iterator.hasNext(); ) {
        S3ObjectSummary summary = (S3ObjectSummary) iterator.next();
        s3.deleteObject(bucket_name, summary.getKey());
    }

    // more object_listing to retrieve?
    if (object_listing.isTruncated()) {
        object_listing = s3.listNextBatchOfObjects(object_listing);
    } else {
        break;
    }
}
```

Das [vollständige Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) finden Sie unter. GitHub

### Entfernen von Objekten aus einem versionierten Bucket vor dem Löschen
<a name="remove-objects-from-a-versioned-bucket-before-deleting-it"></a>

Wenn Sie einen [versionierten Bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) nutzen, müssen Sie auch alle gespeicherten Versionen der Objekte im Bucket entfernen, bevor der Bucket gelöscht werden kann.

Verwenden Sie ein ähnliches Muster wie beim Entfernen von Objekten innerhalb eines Buckets. Entfernen Sie versionierte Objekte, indem Sie die `listVersions` Methode des AmazonS3-Clients verwenden, um alle versionierten Objekte aufzulisten und dann jedes einzelne `deleteVersion` zu löschen.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Code** 

```
System.out.println(" - removing versions from bucket");
VersionListing version_listing = s3.listVersions(
        new ListVersionsRequest().withBucketName(bucket_name));
while (true) {
    for (Iterator<?> iterator =
         version_listing.getVersionSummaries().iterator();
         iterator.hasNext(); ) {
        S3VersionSummary vs = (S3VersionSummary) iterator.next();
        s3.deleteVersion(
                bucket_name, vs.getKey(), vs.getVersionId());
    }

    if (version_listing.isTruncated()) {
        version_listing = s3.listNextBatchOfVersions(
                version_listing);
    } else {
        break;
    }
}
```

[Das vollständige Beispiel finden Sie unter.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) GitHub

### Löschen eines leeren Buckets
<a name="delete-an-empty-bucket"></a>

Sobald Sie die Objekte aus einem Bucket entfernt haben (einschließlich aller versionierten Objekte), können Sie den Bucket selbst mithilfe der Methode des AmazonS3-Clients löschen. `deleteBucket`

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Code** 

```
System.out.println(" OK, bucket ready to delete!");
s3.deleteBucket(bucket_name);
```

Das [vollständige](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) Beispiel finden Sie unter. GitHub