

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.

# Löschen eines einzelnen Objekts
<a name="delete-objects"></a>

Sie können die Amazon-S3-Konsole oder die DELETE API verwenden, um ein einzelnes vorhandenes Objekt aus einem S3-Bucket zu löschen. Weitere Informationen zum Löschen von Objekten in Amazon S3 finden Sie unter [Löschen von Amazon-S3-Objekten](DeletingObjects.md).

Für alle Objekte, die Sie in Ihrem S3-Bucket aufbewahren, entstehen Speicherkosten, deshalb sollten Sie Objekte löschen, die Sie nicht mehr brauchen. Wenn Sie beispielsweise Protokolldateien sammeln, sollten Sie sie unbedingt löschen, wenn sie nicht mehr benötigt werden. Sie können einen Lebenszyklusregel definieren, um Objekte wie Protokolldateien automatisch zu löschen. Weitere Informationen finden Sie unter [Einrichten einer S3-Lebenszykluskonfiguration für einen Bucket](how-to-set-lifecycle-configuration-intro.md).

Informationen zu den Funktionen und Preisen von Amazon S3 finden Sie unter [Amazon-S3-Preise](https://aws.amazon.com/s3/pricing).

## Verwenden der S3-Konsole
<a name="delete-object-console"></a>

Befolgen Sie diese Schritte, um mithilfe der Amazon-S3-Konsole ein einzelnes Objekt aus einem Bucket zu löschen.

**Warnung**  
Wenn Sie ein Objekt oder eine bestimmte Objektversion dauerhaft in der Amazon-S3-Konsole löschen, kann der Löschvorgang nicht rückgängig gemacht werden.

**So löschen Sie ein Objekt, für das die Versionsverwaltung aktiviert oder ausgesetzt wurde**
**Anmerkung**  
 Wenn die Versions-ID für ein Objekt in einem Bucket, für das die Versionsverwaltung gesperrt wurde, als `NULL` markiert ist, löscht S3 das Objekt dauerhaft, da keine früheren Versionen existieren. Wenn jedoch eine gültige Versions-ID für das Objekt in einem Bucket mit deaktivierter Versionsverwaltung aufgeführt ist, erstellt S3 eine Löschmarkierung für das gelöschte Objekt, während die vorherigen Versionen des Objekts beibehalten werden. 

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Allzweck-Buckets** oder **Verzeichnis-Buckets** aus.

1. Wählen Sie in der Liste Buckets den Namen des Buckets aus, aus dem Sie ein Objekt löschen möchten.

1. Wählen Sie das Objekt und dann **Löschen** aus.

1. Um die Löschung der Objektliste unter **Angegebene Objekte** im Textfeld **Objekte löschen?** zu bestätigen, geben Sie **delete** ein.

**So löschen Sie ein Objekt in einem Bucket mit aktivierter Versionsverwaltung**
**Warnung**  
Wenn Sie eine bestimmte Objektversion in Amazon S3 dauerhaft löschen, kann der Löschvorgang nicht rückgängig gemacht werden.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie in der Liste **Bucket Name (Bucket-Name)** den Namen des Buckets aus, aus dem Sie ein Objekt löschen möchten.

1. Wählen Sie das zu löschende Objekt aus.

1. Wählen Sie **Versionen anzeigen** aus.

1. Wählen Sie die Objektversion aus und klicken Sie dann auf **Löschen**.

1. Um das dauerhafte Löschen der spezifischen Objektversionen zu bestätigen, die unter **Bestimmte Objekte** aufgelistet sind, geben Sie im Textfeld **Objekte löschen?** **Dauerhaft löschen** ein. Amazon S3 löscht die spezifische Objektversion endgültig.

**So löschen Sie ein Objekt in einem Amazon-S3-Bucket dauerhaft, für das die Versionsverwaltung *nicht aktiviert* ist**
**Warnung**  
Wenn Sie ein Objekt endgültig in Amazon S3 löschen, kann der Löschvorgang nicht rückgängig gemacht werden. Außerdem werden alle Buckets ohne aktivierte Versionsverwaltung dauerhaft gelöscht.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Allzweck-Buckets** aus.

1. Wählen Sie in der Liste Buckets den Namen des Buckets aus, aus dem Sie ein Objekt löschen möchten.

1. Wählen Sie das Objekt und dann **Löschen** aus.

1. Um die dauerhafte Löschung des unter **Spezifizierte Objekte** aufgeführten Objekts zu bestätigen, geben Sie im Textfeld **Objekte löschen?** den Text **dauerhaft löschen** ein.

**Anmerkung**  
Falls beim Löschen eines Objekts Probleme auftreten, finden Sie weitere Informationen unter [Ich möchte versionierte Objekte dauerhaft löschen](troubleshooting-versioning.md#delete-objects-permanent).

## Verwenden Sie den AWS CLI
<a name="delete-object-cli"></a>



Um ein Objekt pro Anfrage zu löschen, verwenden Sie die API `DELETE`. Weitere Informationen hierzu finden Sie unter [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html). Weitere Hinweise zur Verwendung der CLI zum Löschen eines Objekts finden Sie unter [delete-object](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/s3api/delete-object.html).

# Verwenden der REST-API
<a name="DeletingAnObjectsUsingREST"></a>

Sie können den verwenden AWS SDKs , um ein Objekt zu löschen. Falls in Ihrer Anwendung jedoch erforderlich, können Sie REST-Anforderungen auch direkt senden. Weitere Informationen finden Sie unter [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) in der *API-Referenz zum Amazon Simple Storage Service*. 

## Mit dem AWS SDKs
<a name="DeletingOneObject"></a>

Die folgenden Beispiele zeigen, wie Sie mit AWS SDKs dem ein Objekt aus einem Bucket löschen können. Weitere Informationen finden Sie unter [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) in der *API-Referenz zum Amazon Simple Storage Service*.

Wenn für den Bucket das S3-Versioning aktiviert ist, stehen Ihnen die folgenden Optionen zur Verfügung:
+ Löschen einer spezifischen Objektversion durch Angabe einer Versions-ID.
+ Löschen eines Objekts ohne Angabe einer Version-ID. In diesem Fall fügt Amazon S3 dem Objekt eine Löschmarkierung hinzu.

Weitere Informationen über das S3-Versioning finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md). 

Weitere Beispiele und Beispiele in anderen Sprachen finden Sie unter [Verwenden `DeleteObject` mit einem AWS SDK oder einer CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) in der *Amazon S3 S3-API-Referenz*.

------
#### [ Java ]

Um Objekte mit dem AWS SDK for Java zu löschen, können Sie Objekte sowohl aus versionierten als auch aus nicht versionierten Buckets löschen:
+ *Nicht versionierter Bucket:* In der Löschanfrage geben Sie nur den Objektschlüssel und keine Versions-ID an.
+ *Versionierter Bucket:* Sie können eine bestimmte Objektversion löschen, indem Sie sowohl den Objekt-Schlüsselnamen als auch die Versions-ID angeben. Wenn keine anderen Versionen dieses Objekts vorhanden sind, löscht Amazon S3 das gesamte Objekt. Andernfalls löscht Amazon S3 die angegebene Version.
**Anmerkung**  
Sie können die Version IDs eines Objekts abrufen, indem Sie eine Anfrage senden. `ListVersions`

Beispiele für das Löschen eines einzelnen Objekts mit dem AWS SDK for Java finden [Sie unter Löschen eines Objekts](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) in der *Amazon S3 S3-API-Referenz*.

------
#### [ .NET ]

Das folgende Beispiel veranschaulicht, wie Sie ein Objekt sowohl aus versionierten als auch aus nicht-versionierten Buckets löschen. Weitere Informationen über das S3-Versioning finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md). 

**Example Löschen eines Objekts aus einem nicht-versionierten Bucket**  
Das folgende C\$1-Beispiel löscht ein Objekt aus einem nicht-versionierten Bucket. Das Beispiel geht davon aus, dass die Objekte keine Version haben IDs, sodass Sie keine Version angeben IDs. Sie geben nur den Objektschlüssel ein.   
Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter [Getting Started with the AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) im *AWS SDK for .NET Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class DeleteObjectNonVersionedBucketTest
    {
        private const string bucketName = "*** bucket name ***"; 
        private const string keyName = "*** object key ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            DeleteObjectNonVersionedBucketAsync().Wait();
        }
        private static async Task DeleteObjectNonVersionedBucketAsync()
        {
            try
            {
                var deleteObjectRequest = new DeleteObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };

                Console.WriteLine("Deleting an object");
                await client.DeleteObjectAsync(deleteObjectRequest);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
        }
    }
}
```

**Example Löschen eines Objekts aus einem versionierten Bucket**  
Das folgende C\$1-Beispiel löscht ein Objekt aus einem versionierten Bucket. Es löscht eine bestimmte Objektversion durch Angabe des Namens des Objektschlüssels und der Versions-ID.   
Der Code führt die folgenden Aufgaben durch:  

1. Aktiviert das S3-Versioning für einen Bucket, den Sie angeben (wenn S3-Versioning bereits aktiviert ist, hat dies keine Auswirkungen).

1. Fügt dem Bucket ein Beispielobjekt hinzu. In der Antwort gibt Amazon S3 die Versions-ID des neu hinzugefügten Objekts zurück. Das Beispiel verwendet diese Versions-ID in der Löschanfrage.

1. Löscht das Beispielobjekt durch Angabe sowohl des Objektschlüsselnamens als auch einer Versions-ID.
**Anmerkung**  
Sie können die Version-IDs eines Objekts durch Senden einer `ListVersions`-Anfrage anfordern.  

   ```
   var listResponse = client.ListVersions(new ListVersionsRequest { BucketName = bucketName, Prefix = keyName }); 
   ```
Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter [Getting Started with the AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) im *AWS SDK for .NET Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class DeleteObjectVersion
    {
        private const string bucketName = "*** versioning-enabled bucket name ***";
        private const string keyName = "*** Object Key Name ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            CreateAndDeleteObjectVersionAsync().Wait();
        }

        private static async Task CreateAndDeleteObjectVersionAsync()
        {
            try
            {
                // Add a sample object. 
                string versionID = await PutAnObject(keyName);

                // Delete the object by specifying an object key and a version ID.
                DeleteObjectRequest request = new DeleteObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    VersionId = versionID
                };
                Console.WriteLine("Deleting an object");
                await client.DeleteObjectAsync(request);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
        }

        static async Task<string> PutAnObject(string objectKey)
        {
            PutObjectRequest request = new PutObjectRequest
            {
                BucketName = bucketName,
                Key = objectKey,
                ContentBody = "This is the content body!"
            };
            PutObjectResponse response = await client.PutObjectAsync(request);
            return response.VersionId;
        }
    }
}
```

------
#### [ PHP ]

Dieses Beispiel zeigt, wie Klassen aus Version 3 von verwendet werden, AWS SDK für PHP um ein Objekt aus einem Bucket ohne Versionsnummer zu löschen. Weitere Informationen über das Löschen eines Objekts aus einem versionsfähigen Bucket finden Sie unter [Verwenden der REST-API](DeletingAnObjectsUsingREST.md). 

Weitere Informationen zum AWS SDK for Ruby API finden Sie unter [AWS SDK for Ruby — Version 2.](https://docs.aws.amazon.com/sdkforruby/api/index.html)

Das folgende PHP-Beispiel löscht ein Objekt aus einem Bucket. Da dieses Beispiel zeigt, wie Objekte aus nicht versionsgesteuerten Buckets gelöscht werden, gibt es in der Löschanfrage nur den Bucket-Namen und Objektschlüssel (keine Versions-ID) an. 

```
<?php

require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// 1. Delete the object from the bucket.
try
{
    echo 'Attempting to delete ' . $keyname . '...' . PHP_EOL;

    $result = $s3->deleteObject([
        'Bucket' => $bucket,
        'Key'    => $keyname
    ]);

    if ($result['DeleteMarker'])
    {
        echo $keyname . ' was deleted or does not exist.' . PHP_EOL;
    } else {
        exit('Error: ' . $keyname . ' was not deleted.' . PHP_EOL);
    }
}
catch (S3Exception $e) {
    exit('Error: ' . $e->getAwsErrorMessage() . PHP_EOL);
}

// 2. Check to see if the object was deleted.
try
{
    echo 'Checking to see if ' . $keyname . ' still exists...' . PHP_EOL;

    $result = $s3->getObject([
        'Bucket' => $bucket,
        'Key'    => $keyname
    ]);

    echo 'Error: ' . $keyname . ' still exists.';
}
catch (S3Exception $e) {
    exit($e->getAwsErrorMessage());
}
```

------
#### [ Javascript ]

```
import { DeleteObjectCommand } from "@aws-sdk/client-s3";
import { s3Client } from "./libs/s3Client.js" // Helper function that creates Amazon S3 service client module.

export const bucketParams = { Bucket: "BUCKET_NAME", Key: "KEY" };

export const run = async () => {
  try {
    const data = await s3Client.send(new DeleteObjectCommand(bucketParams));
    console.log("Success. Object deleted.", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------