Zum Inhalt springen

S3-Lifecycle-Konfiguration

Eine Lifecycle-Konfiguration wird immer auf einen bestimmten Bucket angewendet. Sie besteht aus einer oder mehreren Regeln (bis zu 1000 innerhalb einer einzelnen Lifecycle-Konfiguration).

Jede dieser Regeln kann die folgenden Elemente enthalten:

  • ID: Jede Regel innerhalb einer Lifecycle-Konfiguration muss eine eindeutige ID haben.
  • Filter: Objekte können nach einem Präfix oder einem Tag gefiltert werden. Filter können auch sowohl Präfix als auch Tags mit einem logischen UND kombinieren.
  • Ablauf (Expiration): Der Ablauf kann auf ein bestimmtes Datum oder eine bestimmte Zeitspanne (Anzahl der Tage) ab dem Ingest-Datum des Objekts festgelegt werden.
  • Ablauf nicht aktueller Versionen (NonCurrentVersionExpiration): Entspricht dem Ablauf, gilt aber nur für nicht aktuelle Versionen.
    Wenn Sie die Versionierung für einen Bucket verwenden und eine Datei löschen, wird die Datei zu einer „nicht aktuellen Version“ und ein Delete-Marker wird als aktuelle Version eingefügt. Eine Regel, die „nonCurrentVersionExpiration“ verwendet, kann angewendet werden, um diese nicht aktuellen Versionen dauerhaft aus Ihrem Bucket zu entfernen.
  • Status: Der Status kann entweder „Aktiviert“ oder „Deaktiviert“ sein. „Deaktivierte“ Regeln sind inaktiv und die darin definierten Aktionen werden nicht ausgeführt.

Hinweis: Bitte beachten Sie, dass das jeweilige Objekt bei Erreichen des Ablaufs nicht sofort gelöscht wird, sondern durch Löschroutinen innerhalb der nächsten ca. 10 Tage entfernt wird.

Die folgende Regel lässt alle Objekte in einem Bucket ablaufen, die das Präfix „backup/“ haben und vor mehr als 10 Tagen aufgenommen wurden:

delete-all-objects-after-ten-days backups/ Enabled 10

Um alle Objekte in einem Bucket ablaufen zu lassen, die

  • das Präfix “backup/” haben
  • einen Tag haben, der mit Key1/Value1 übereinstimmt
  • und vor mehr als 10 Tagen aufgenommen wurden

können Sie eine Lifecycle-Konfiguration mit zwei durch ein logisches UND kombinierten Filtern verwenden:

delete-all-backup-objects-key1-value1-after-ten-days backups/ key1 value1 Enabled 10

1.Erstellen Sie eine Lifecycle Policy File. Diese Datei liegt im XML-Format vor und könnte wie folgt aussehen:

my-rule-id my-prefix/ Enabled 99

2.Verwenden Sie den Befehlsetlifecycle <file> <bucket>, um die Policy auf einen Bucket anzuwenden.
For thes3://my-example-bucketbucket, the command will look like this:

Terminal-Fenster
$ s3cmd setlifecycle lifecycle\_policy.xml s3://my-example-bucket s3://my-example-bucket/: Lifecycle Policy updated

1.Verwenden Sie den Befehlgetlifecycle <bucket>, um die Lifecycle-Policy-Datei für einen Bucket abzurufen.
Für den Buckets3://my-example-bucketbucket, sieht der Befehl wie folgt aus:

Terminal-Fenster
$ s3cmd getlifecycle s3://my-example-bucket delete-all-objects Enabled 1

1.Verwenden Sie den Befehldellifecycle <bucket>um die Lifecycle-Policy-Datei zu löschen. Für den Buckets3://my-example-bucketbucket, sieht der Befehl wie folgt aus:

Terminal-Fenster
$ s3cmd dellifecycle s3://my-example-bucket s3://my-example-bucket/: Lifecycle Policy deleted