Lifecycle-Policies anwenden

Last change on 2024-12-03 • Created on 2024-10-28 • ID: ST-B7A33

Damit Objekte nach einem festgelegten Zeitraum automatisch gelöscht werden, können Lifecycle-Policies genutzt werden. Genauere Informationen über Lifecycle-Policies finden Sie in dem FAQ-Eintrag "Was sind Lifecycle-Policies und wie verwende ich sie?".

Die Befehle unterscheiden sich je nach S3-kompatiblem Tool. Die folgenden Schritte werden mittels Beispielbefehlen für MinIO Client und AWS CLI und anhand einer JSON-Datei erklärt. Wenn Sie S3cmd verwenden, erstellen Sie eine XML-Datei und nutzen Sie die offizielle S3cmd-Dokumentation.

  1. Lifecycle-Konfiguration erstellen, z.B. expiry.json:

    (siehe JSON Syntax)

    {
     "Rules": [{
        "ID": "expiry",
        "Status": "Enabled",
        "Prefix": "",
    
        "Expiration": {
          "Days": 90
        },
        "NoncurrentVersionExpiration": {
          "NoncurrentDays": 30
        },
        "AbortIncompleteMultipartUpload": {
          "DaysAfterInitiation": 10
        }
      },
      {
        "ID": "deletemarker",
        "Status": "Enabled",
        "Prefix": "",
    
        "Expiration": {
          "ExpiredObjectDeleteMarker": true
        }
      }]
    }

  1. Lifecycle-Konfiguration auf einen Bucket anwenden:

    • MinIO Client

      Mit dem MinIO Client können Lifecycle-Regeln auch direkt angewendet werden, ohne JSON-Datei.

      mc ilm rule import <alias_name>/<bucket_name> < expiry.json

    • AWS CLI

      aws s3api put-bucket-lifecycle-configuration --bucket <bucket_name> --lifecycle-configuration  file://expiry.json

  1. Lifecycle-Regeln anzeigen lassen:

    • MinIO Client

      mc ilm rule ls <alias_name>/<bucket_name>

    • AWS CLI

      aws s3api get-bucket-lifecycle-configuration --bucket <bucket_name>

  1. Lifecycle-Regeln löschen:

    • MinIO Client

      mc ilm rule rm --id "expiry" <alias_name>/<bucket_name>
      mc ilm rule rm --all --force <alias_name>/<bucket_name>

    • AWS CLI

      Alle Regeln löschen:

      aws s3api delete-bucket-lifecycle --bucket <bucket_name>

      Wenn Sie nur einzelne Regeln löschen möchten, nutzen Sie den unteren Befehl, um die aktuellen Regeln in lifecycle.json zu speichern. Bearbeiten Sie die Regeln und wenden Sie die neue Lifecycle-Konfiguration wie in Schritt 2 erklärt auf Ihren Bucket an.

      aws s3api get-bucket-lifecycle-configuration --bucket <bucket_name> --output json > lifecycle.json

Ihre Objekte sollten nun automatisch gelöscht werden.


Nächste Schritte: