Direkt zum Inhalt

Wie leere ich einen S3 Bucket mithilfe einer Lebenszykluskonfigurationsregel?

Lesedauer: 4 Minute
0

Ich verfüge über einen Amazon-Simple-Storage-Service (Amazon S3)-Bucket, der Millionen von Objekten speichert. Ich möchte eine Lebenszykluskonfigurationsregel verwenden, um den Bucket zu leeren, damit mir kein Speicherplatz in Rechnung gestellt wird.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Hinweis: Diese Anleitung zur Lebenszykluskonfiguration gilt nur für allgemeine Amazon S3-Buckets. Für Verzeichnis-Buckets gelten unterschiedliche Anforderungen an das Lebenszyklus-Management. Tabellen-Buckets unterstützen keine Lebenszykluskonfigurationsregeln.

Wichtig: Die folgende Lösung löscht dauerhaft alle Daten in deinem S3-Bucket. Bevor du sie löschst, überprüfe alle Objekte und Daten im Bucket, da du die Daten nicht wiederherstellen kannst.

Um einen Bucket mit einer Lebenszykluskonfigurationsregel zu leeren, verwende entweder die Konsole oder die AWS CLI.

Verwendung der Konsole

Du kannst in der Konsole eine Lebenszykluskonfigurationsregel erstellen, die aktuelle Versionen von Objekten auslaufen lässt und frühere Versionen von Objekten dauerhaft löscht. Gehe wie folgt vor, um die Regel zu erstellen:

  1. Öffne die Amazon-S3-Konsole.
  2. Wähle aus der Liste der Allzweck-Buckets den Bucket aus, den du leeren möchtest.
  3. Wähle die RegisterkarteVerwaltung aus.
  4. WähleCreate lifecycle rule(Lebenszyklusregel erstellen) aus.
  5. Gib fürLifecycle rule name(Name der Lebenszyklusregel) einen Namen für die Regel ein.
  6. Wähle unterRegelbereich auswählendie OptionAuf alle Objekte im Bucket anwendenaus.
  7. Wähle I acknowledge that this rule will apply to all objects in the bucket(Ich bestätige, dass diese Regel für alle Objekte im Bucket gilt) aus.
  8. Wählen Sie unterAktionen für Lebenszyklusregelndie folgenden Optionen:
    Expire current versions of objects (Aktuelle Versionen von Objekten ablaufen lassen) Nicht aktuelle Versionen von Objekten dauerhaft löschen
    Abgelaufene Löschmarkierungen oder unvollständige mehrteilige Uploads löschen
  9. Geben Sie im FeldExpire current versions of objects(Aktuelle Objektversionen ablaufen lassen) den Wert1in das FeldDays after object creation(Tage nach Objekterstellung) ein.
  10. Gib im FeldNicht aktuelle Versionen von Objekten dauerhaft löschenfür das FeldTage, nachdem Objekte nicht mehr aktuell sind,den Wert1 ein.
  11. Um alle Versionen zu löschen, lasse das Feld Anzahl der neueren Versionen, die beibehalten werden sollen (Optional) leer.
  12. Wähle Unvollständige mehrteilige Uploads löschen aus und gib 1für das FeldAnzahl der Tage ein.
  13. Wähle Regel erstellen aus.
  14. Um eine zweite Lebenszyklusregel zu erstellen, wiederhole die Schritte 4–7.
  15. Wähle Abgelaufene Löschmarkierungen oder unvollständige mehrteilige Uploads löschen aus.
  16. Wähle Abgelaufene Löschmarkierungen löschen aus.
  17. Wähle Regel erstellen aus.

Amazon S3 führt einmal täglich Lebenszykluskonfigurationsregeln aus. Nachdem Amazon S3 die Regeln zum ersten Mal ausgeführt hat, markiert es alle Objekte, die für das Ablaufen in Frage kommen, zum Löschen. Objekte, die du zum Löschen markierst, werden dir nicht mehr in Rechnung gestellt.

Amazon S3 lässt Objektversionen asynchron ablaufen und entfernt Löschmarkierungen. Es kann sein, dass die Regeln einige Tage lang ausgeführt werden, bevor der Bucket leer ist. Weitere Informationen zu dieser asynchronen Objektentfernung in Amazon S3 findest du unterAblaufende Objekte.

Verwenden der AWS CLI

Du kannst die AWS CLI verwenden, um eine Lebenszyklusregel zum Leeren deines S3-Buckets zu erstellen. Führe die folgenden Schritte aus:

  1. Erstelle eine Datei mit deinem JSON-Inhalt, z. B. lifecycle-rules.json. Das folgende Code-Beispiel zeigt eine Reihe von Lebenszyklusregeln:

    {  "Rules": [{  
          "Expiration": {  
            "Days": 1  
          },  
          "ID": "FullDelete",  
          "Filter": {  
            "Prefix": ""  
          },  
          "Status": "Enabled",  
          "NoncurrentVersionExpiration": {  
            "NoncurrentDays": 1  
          },  
          "AbortIncompleteMultipartUpload": {  
            "DaysAfterInitiation": 1  
          }  
        },  
        {  
          "Expiration": {  
            "ExpiredObjectDeleteMarker": true  
          },  
          "ID": "DeleteMarkers",  
          "Filter": {  
            "Prefix": ""  
          },  
          "Status": "Enabled"  
        }  
      ]  
    }
  2. Führe den Befehl put-bucket-lifecycle-configuration aus, um deine Lebenszykluskonfiguration zu erstellen oder zu aktualisieren. Der folgende Befehl verwendet eine JSON-Datei mit dem Namen lifecycle-rules.json:

    aws s3api put-bucket-lifecycle-configuration --bucket delete-marker-testing-demo --lifecycle-configuration file://lifecycle-rules.json

Hinweis: Du kannst dem JSON-Inhalt einen Präfixfilter hinzufügen, um die Regel nur auf Präfix-Ebene anzuwenden. Das Folgende ist ein Beispiel-Snippet:

"Filter": {  "Prefix": "folder1/"  
},

Ähnliche Informationen

Entfernen von abgelaufenen Objekt-Löschmarkierungen in einem Bucket mit aktivierter Versionsverwaltung

Verwaltung des Lebenszyklus von Objekten

Wie lösche ich Amazon-S3-Objekte und -Buckets?

Allzweck-Bucket löschen

Einrichten der S3-Lebenszykluskonfiguration für einen Bucket

AWS OFFICIALAktualisiert vor einem Jahr