

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.

# Operationen an Amazon S3 Objekten ausführen
<a name="examples-s3-objects"></a>

Ein Amazon S3 Objekt steht für eine *Datei* oder eine Sammlung von Daten. Jedes Objekt muss in einem [Bucket](examples-s3-buckets.md) enthalten sein.

**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.

**Topics**
+ [Hochladen eines Objekts](#upload-object)
+ [Auflisten von Objekten](#list-objects)
+ [Herunterladen eines Objekts](#download-object)
+ [Kopieren, Verschieben oder Umbenennen von Objekten](#copy-object)
+ [Objekte löschen](#delete-object)
+ [Löschen mehrerer Objekte auf einmal](#delete-objects)

## Hochladen eines Objekts
<a name="upload-object"></a>

Verwenden Sie die `putObject` Methode des AmazonS3-Clients und geben Sie einen Bucket-Namen, einen Schlüsselnamen und eine Datei für den Upload an. *Der Bucket muss vorhanden sein, andernfalls tritt ein Fehler auf*.

 **Importe** 

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

 **Code** 

```
System.out.format("Uploading %s to S3 bucket %s...\n", file_path, bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.putObject(bucket_name, key_name, new File(file_path));
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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

## Auflisten von Objekten
<a name="list-objects"></a>

Um eine Liste der Objekte in einem Bucket abzurufen, verwenden Sie die `listObjects` Methode des AmazonS3-Clients und geben Sie den Namen eines Buckets an.

Die `listObjects` Methode gibt ein [ObjectListing](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/ObjectListing.html)Objekt zurück, das Informationen über die Objekte im Bucket bereitstellt. Um die Objektnamen (Schlüssel) aufzulisten, verwenden Sie die `getObjectSummaries` Methode, um eine Liste von [ObjectSummaryS3-Objekten](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3ObjectSummary.html) abzurufen, von denen jedes ein einzelnes Objekt im Bucket darstellt. Rufen Sie dann dessen `getKey`-Methode zum Abrufen des Objektnamens auf.

 **Importe** 

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

 **Code** 

```
System.out.format("Objects in S3 bucket %s:\n", bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
ListObjectsV2Result result = s3.listObjectsV2(bucket_name);
List<S3ObjectSummary> objects = result.getObjectSummaries();
for (S3ObjectSummary os : objects) {
    System.out.println("* " + os.getKey());
}
```

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

## Herunterladen eines Objekts
<a name="download-object"></a>

Verwenden Sie die `getObject` Methode des AmazonS3-Clients und übergeben Sie ihm den Namen eines Buckets und eines Objekts zum Herunterladen. Bei Erfolg gibt die Methode ein [S3Object](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3Object.html) zurück. *Der angegebene Bucket und der Objektschlüssel müssen vorhanden sein, andernfalls tritt ein Fehler auf*.

Sie können den Inhalt des Objekts anfordern, indem Sie `getObjectContent` für das Objekt `S3Object` aufrufen. Dies gibt ein [S3](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3ObjectInputStream.html) zurückObjectInputStream, das sich wie ein Standard-Java-Objekt verhält. `InputStream`

Das folgende Beispiel lädt ein Objekt von S3 herunter und speichert die Inhalte in einer Datei mit dem Namen des Objektschlüssels.

 **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.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;

import java.io.File;
```

 **Code** 

```
System.out.format("Downloading %s from S3 bucket %s...\n", key_name, bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    S3Object o = s3.getObject(bucket_name, key_name);
    S3ObjectInputStream s3is = o.getObjectContent();
    FileOutputStream fos = new FileOutputStream(new File(key_name));
    byte[] read_buf = new byte[1024];
    int read_len = 0;
    while ((read_len = s3is.read(read_buf)) > 0) {
        fos.write(read_buf, 0, read_len);
    }
    s3is.close();
    fos.close();
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
} catch (FileNotFoundException e) {
    System.err.println(e.getMessage());
    System.exit(1);
} catch (IOException e) {
    System.err.println(e.getMessage());
    System.exit(1);
}
```

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

## Kopieren, Verschieben oder Umbenennen von Objekten
<a name="copy-object"></a>

Sie können ein Objekt mithilfe der Methode des AmazonS3-Clients von einem Bucket in einen anderen kopieren. `copyObject` Sie nimmt den Namen des Buckets, aus dem kopiert werden soll, das zu kopierende Objekt sowie den Namen des Zielbuckets entgegen.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
```

 **Code** 

```
try {
    s3.copyObject(from_bucket, object_key, to_bucket, object_key);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
System.out.println("Done!");
```

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

**Anmerkung**  
Sie können `copyObject` mit [deleteObject](#delete-object) verwenden, um ein Objekt zu **verschieben** oder **umzubenennen**. Kopieren Sie das Objekt dazu als Erstes auf einen neuen Namen (Sie können den gleichen Bucket als Quelle und Ziel angeben) und löschen Sie das Objekt dann von seinem bisherigen Speicherort.

## Objekte löschen
<a name="delete-object"></a>

Verwenden Sie die `deleteObject` Methode des AmazonS3-Clients und übergeben Sie ihm den Namen eines Buckets und eines Objekts, das gelöscht werden soll. *Der angegebene Bucket und der Objektschlüssel müssen vorhanden sein, andernfalls tritt ein Fehler auf*.

 **Importe** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
```

 **Code** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.deleteObject(bucket_name, object_key);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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

## Löschen mehrerer Objekte auf einmal
<a name="delete-objects"></a>

Mit der `deleteObjects` Methode des AmazonS3-Clients können Sie mehrere Objekte aus demselben Bucket löschen, indem Sie ihre Namen an die Methode link:sdk-for-java/v1/reference/com/amazonaws/services/s3/model/DeleteObjectsRequest.html `` übergeben.

 **Importe** 

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

 **Code** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    DeleteObjectsRequest dor = new DeleteObjectsRequest(bucket_name)
            .withKeys(object_keys);
    s3.deleteObjects(dor);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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