Arbeiten mit Löschmarkierungen - Amazon Simple Storage Service

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.

Arbeiten mit Löschmarkierungen

Eine Löschmarkierung in Amazon S3 ist ein Platzhalter (bzw. eine Markierung) für ein versioniertes Objekt, das in einer einfachen DELETE-Anforderung angegeben wurde. Eine einfache DELETE-Anforderung ist eine Anforderung, die keine Versions-ID angibt. Weil sich das Objekt in einem versioning-fähigen Bucket befindet, wurde das Objekt nicht gelöscht. Die Löschmarkierung bewirkt jedoch, dass sich Amazon S3 verhält, als wäre das Objekt gelöscht worden. Sie können einen Amazon S3 API DELETE S3-Aufruf für eine Löschmarke verwenden. Dazu müssen Sie die DELETE Anfrage mithilfe eines AWS Identity and Access Management (IAM) -Benutzers oder einer Rolle mit den entsprechenden Berechtigungen stellen.

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:

  • Einer Löschmarkierung sind keine Daten zugeordnet.

  • Eine Löschmarkierung ist keinem Wert in der Zugriffskontrollliste (ACL) zugeordnet.

  • Wenn Sie eine GET-Anforderung für eine Löschmarkierung ausgeben, ruft die GET-Anforderung nichts ab, da eine Löschmarkierung keine Daten enthält. Insbesondere, wenn in Ihrer GET-Anforderung keine versionId angegeben ist, erhalten Sie den Fehler 404 (Nicht gefunden).

Für Löschmarkierungen fällt eine Mindestgebü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 Kodierung UTF -8 für den Schlüsselnamen fügt Ihrem Bucket für jedes Zeichen im Namen 1 bis 4 Byte Speicherplatz hinzu. Löschmarkierungen werden in der S3-Standardspeicherklasse gespeichert.

Wenn Sie ermitteln möchten, wie viele Löschmarkierungen Sie haben und in welcher Speicherklasse diese gespeichert sind, können Sie Amazon S3 Storage Lens verwenden. Weitere Informationen finden Sie unter Bewerten Ihrer Speicheraktivität und -nutzung mit Amazon S3 Storage Lens und Amazon S3-Storage-Lens-Metrikglossar.

Weitere Informationen zu Schlüsselnamen finden Sie unter Erstellen von Objektschlüsselnamen. Informationen zum Löschen von Löschmarkierungen finden Sie unter Verwalten von Löschmarkierungen.

Nur Amazon S3 kann eine Löschmarkierung erstellen. Dies erfolgt immer, wenn Sie eine DeleteObject-Anfrage für ein Objekt in einem Bucket mit Versioning oder ausgesetztem Versioning stellen. Das in der DELETE-Anforderung angegebene Objekt 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 ein Objekt abrufen, ohne eine versionId in der Anforderung anzugeben, und die aktuelle Version eine Löschmarkierung ist, antwortet Amazon S3 mit Folgendem:

  • Fehler 404 (Nicht gefunden)

  • Ein Antwort-Header x-amz-delete-marker: true

Wenn Sie ein Objekt abrufen, indem Sie eine versionId in der Anforderung angeben, und die angegebene Version eine Löschmarkierung ist, antwortet Amazon S3 mit Folgendem:

  • Ein Fehler 405 (Method Not Allowed)

  • Ein Antwort-Header x-amz-delete-marker: true

  • Ein Antwort-Header Last-Modified: timestamp (nur bei Verwendung der HeadObjectOder-Operationen) GetObjectAPI

Der Antwort-Header x-amz-delete-marker: true teilt Ihnen mit, dass das Objekt, auf das Sie zugegriffen haben, eine Löschmarkierung war. Dieser Antwort-Header gibt niemals false zurück, denn wenn der Wert false lautet, handelt es sich bei der aktuellen oder angegebenen Version des Objekts nicht um eine Löschmarkierung.

Der Antwort-Header Last-Modified gibt die Erstellungszeit der Löschmarkierungen an.

Die folgende Abbildung zeigt, wie ein GetObject API Aufruf eines Objekts, dessen aktuelle Version eine Löschmarkierung ist, mit einem 404-Fehler (Not Found) reagiert, und der Antwortheader enthält Folgendesx-amz-delete-marker: true.

Abbildung, die zeigt, wie ein GetObject-Aufruf einer Löschmarkierung den Fehler 404 (Nicht gefunden) zurückgibt

Wenn Sie einen GetObject-Aufruf für ein Objekt durchführen, indem Sie eine versionId in Ihrer Anfrage angeben, und wenn die angegebene Version eine Löschmarkierung ist, antwortet Amazon S3 mit dem Fehler 405 (Methode nicht zulässig) und die Antwort-Header enthalten x-amz-delete-marker: true und Last-Modified: timestamp.

Abbildung, die zeigt, dass ein GetObject Aufruf einer Löschmarkierung einen 405-Fehler (Methode nicht zulässig) zurückgibt.

Die einzige Methode, Löschmarkierungen (und andere Versionen eines Objekts) aufzulisten, ist die Verwendung der versions-Subressource in einer ListObjectVersions-Anforderung. Die folgende Abbildung zeigt, dass eine ListObjectsV2- oder ListObjects-Anforderung keine Objekte zurückgibt, deren aktuelle Version eine Löschmarkierung ist.

Abbildung, die zeigt, dass ein ListObjectsV2 ListObjects OR-Aufruf keine Löschmarkierungen zurückgibt.