Arbeiten mit Löschmarkierungen - Amazon Simple Storage Service

Arbeiten mit Löschmarkierungen

Eine Löschmarkierung ist ein Platzhalter (Markierung) für ein versionsfähiges Objekt, das in einer einfachen DELETE-Anforderung angegeben wurde. Weil sich das Objekt in einem versionsfähigen Bucket befunden hat, wurde das Objekt nicht gelöscht. Die Löschmarkierung bewirkt jedoch, dass sich Amazon S3 verhält, als wäre es gelöscht worden.

Eine Löschmarkierung hat einen Schlüsselnamen (oder Schlüssel) und eine Versions-ID, so wie jedes andere Objekt. Eine Löschmarkierung unterscheidet sich jedoch wie folgt von anderen Objekten:

  • Es sind ihm keine Daten zugeordnet.

  • Es ist keinem ACL-Wert (Zugriffskontrollliste) zugeordnet.

  • Eine GET-Anforderung kann nichts dafür anfordern, weil es keine Daten enthält. Sie erhalten den Fehler 404.

  • Die einzige Operation, die Sie für eine Löschmarkierung verwenden können, ist ein Amazon S3-API-DELETE-Aufruf. Dazu müssen Sie die DELETE-Anforderung unter Verwendung eines AWS Identity and Access Management-(IAM-)Benutzers oder einer -Rolle mit den entsprechenden Berechtigungen durchführen.

Für Löschmarkierungen fällt eine Gebühr für die Speicherung in Amazon S3 an. Der Speicherbedarf einer Löschmarkierung ist gleich der Größe des Schlüsselnamens der Löschmarkierung. Ein Schlüsselname ist eine Folge von Unicode-Zeichen. Die UTF-8-Codierung fügt Ihrem Bucket für jedes Zeichen im Namen 1 bis 4 Bytes Speicherbedarf hinzu. Weitere Informationen zu Schlüsselnamen finden Sie unter Objektschlüssel. Informationen zum Löschen von Löschmarkierungen finden Sie unter Entfernen von Löschmarkierungen. .

Nur Amazon S3 kann eine Löschmarkierung erstellen. Dies erfolgt immer, wenn Sie eine DELETE Object-Anforderung für ein Objekt in einem Bucket mit Versioning oder ausgesetztem Versioning stellen. Das Objekt in der DELETE-Anforderung wird nicht wirklich gelöscht. Stattdessen wird die Löschmarkierung zur aktuellen Version des Objekts. (Der Schlüsselname (oder Schlüssel) des Objekts wird zum Schlüssel der Löschmarkierung.) Wenn Sie versuchen, ein Objekt abzurufen, und seine aktuelle Version eine Löschmarkierung ist, antwortet Amazon S3 mit:

  • Einem 404-Fehler (Object not found)

  • Einem Antwort-Header, x-amz-delete-marker: true

Der Antwort-Header teilt Ihnen mit, dass das Objekt, auf das Sie zugegriffen haben, eine Löschmarkierung war. Dieser Antwort-Header gibt nie false zurück. Wenn der Wert false ist, nimmt Amazon S3 diesen Antwort-Header nicht in die Antwort auf.

Die folgende Abbildung zeigt, wie ein einfaches GET für ein Objekt, dessen aktuelle Version eine Löschmarkierung ist, den Fehler 404 No Object Found zurückgibt.

Die einzige Methode, Löschmarkierungen (und andere Versionen eines Objekts) aufzulisten, ist die Verwendung der versions-Subressource in einer GET Bucket versions-Anforderung. Ein einfaches GET ruft keine Löschmarkierungsobjekte ab. Die folgende Abbildung zeigt, dass ein einfaches GET Bucket keine Objekte zurückgibt, deren aktuelle Version eine Löschmarkierung ist.