Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Löschen von Objektversionen

Sie können jederzeit Objektversionen löschen. Darüber hinaus können Sie Lebenszykluskonfigurationsregeln für Objekte definieren, die einen definieren Lebenszyklus haben, um Amazon S3 aufzufordern, die aktuellen Objektversionen ablaufen zu lassen, oder die nicht aktuellen Objektversionen ständig zu entfernen. Wenn Ihr Bucket versionsfähig ist oder das Versioning ausgesetzt ist, funktionieren die Lebenszykluskonfigurationsaktionen wie folgt:

  • Die Expiration-Aktion wird auf die aktuelle Objektversion angewendet, und statt die aktuelle Objektversion zu löschen, behält Amazon S3 die aktuelle Version als nicht aktuelle Version bei, indem es eine Löschmarkierung hinzufügt, die anschließend zur aktuellen Version wird.

  • Die NoncurrentVersionExpiration-Aktion wird nur auf nicht aktuelle Objektversionen angewendet, und Amazon S3 entfernt diese Objektversionen dauerhaft. Dauerhaft entfernte Objekte können nicht wiederhergestellt werden.

Weitere Informationen finden Sie unter Verwaltung des Objektlebenszyklus.

Eine DELETE-Anforderung hat die folgenden Anwendungsfälle:

  • Wenn das Versioning aktiviert ist, kann ein einfaches DELETE ein Objekt nicht dauerhaft löschen.

    Stattdessen fügt Amazon S3 eine Löschmarkierung in den Bucket ein, und die Löschmarkierung wird zur aktuellen Objektversion mit einer neuen ID. Wenn Sie versuchen, GET für ein Objekt auszuführen, dessen aktuelle Version eine Löschmarkierung ist, verhält sich Amazon S3 so, als wäre das Objekt gelöscht worden (obwohl es nicht vollständig entfernt wurde), und gibt einen 404-Fehler zurück.

    Die folgende Abbildung zeigt, dass ein einfaches DELETE das spezifizierte Objekt nicht wirklich löscht. Stattdessen fügt Amazon S3 eine Löschmarkierung ein.

  • Um Objektversionen dauerhaft zu löschen, müssen Sie DELETE Object versionId verwenden.

    Die folgende Abbildung zeigt, dass das beim Löschen einer angegebenen Objektversion dieses Objekt dauerhaft gelöscht wird.

Über die Konsole

Anleitungen finden Sie unter Wie erkenne ich die Versionen eines S3-Objekts? im Konsolenbenutzerhandbuch für Amazon Simple Storage Service.

Verwenden der AWS SDKs

Beispiele für das Löschen von Objekten mit den AWS SDKs for Java, .NET und PHP finden Sie unter Löschen von Objekten. Die Beispiele für das Löschen von Objekten in versionsfähigen und nicht versionsfähigen Buckets sind gleich, aber bei versionsfähigen Buckets weist Amazon S3 eine Versionsnummer zu. Andernfalls ist die Versionsnummer null.

Weitere Informationen zur Verwendung anderer AWS SDKs finden Sie unter Beispiel-Code und Bibliotheken.

Verwenden von REST

Löschen einer spezifischen Objektversion

  • Geben Sie in einem DELETE eine Versions-ID ein.

Beispiel Löschen einer spezifischen Version

Das folgende Beispiel zeigt, wie Version UIORUnfnd89493jJFJ von photo.gif gelöscht wird.

DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0

Löschen mit MFA Delete

Arbeiten mit Löschmarkierungen

Löschmarkierungen entfernen

Verwenden von Versioning