Festlegen der Lebenszyklus-Konfiguration für einen Bucket
In diesem Abschnitt wird erläutert, wie Sie mithilfe von AWS-SDKs, der AWS CLI oder der Amazon-S3-Konsole eine S3-Lebenszyklus-Konfiguration für einen Bucket festlegen können. Weitere Informationen zur S3-Lebenszyklus-Konfiguration finden Sie unter Verwalten Ihres Speicher-Lebenszyklus.
Mit Lebenszyklusregeln können Sie Aktionen definieren, die Amazon S3 während der Lebensdauer eines Objekts ausführen soll (z. B. die Überführung von Objekten in eine andere Speicherklasse, ihre Archivierung oder ihr Löschen nach einem bestimmten Zeitraum).
Bevor Sie eine Lebenszyklus-Konfiguration festlegen, beachten Sie Folgendes:
Verzögerung bei der Verbreitung
Wenn Sie eine S3-Lebenszyklus-Konfiguration zu einem Bucket hinzufügen, tritt eine gewisse Verzögerung ein, bis eine neue oder aktualisierte Lebenszyklus-Konfiguration vollständig auf alle Amazon-S3-Systeme verteilt ist. Rechnen Sie mit einer Verzögerung von einigen Minuten, bis die Konfiguration vollständig wirksam ist. Diese Verzögerung kann auch auftreten, wenn Sie eine S3-Lebenszyklus-Konfiguration löschen.
Deaktivieren oder Löschen von Lebenszyklusregeln
Wenn Sie eine Lebenszyklusregel deaktivieren oder löschen, stellt Amazon S3 nach einer kurzen Verzögerung die Planung neuer Objekte zur Löschung oder Übertragung ein. Die Planung aller bereits geplanten Objekte wird aufgehoben und sie werden nicht gelöscht oder überführt.
Bestehende und neue Objekte
Wenn Sie einem Bucket eine Lebenszyklus-Konfiguration hinzufügen, gelten die Konfigurationsregeln für vorhandene Objekte und für Objekte, die Sie später hinzufügen. z. B.: Wenn Sie heute eine Lebenszyklus-Konfiguration mit einer Ablaufaktion hinzufügen, die dazu führt, dass Objekte mit einem bestimmten Präfix 30 Tage nach ihrer Erstellung ablaufen, setzt Amazon S3 alle bestehenden Objekte, die mehr als 30 tage alt sind, in die Löschwarteschlange.
Änderungen bei der Abrechnung
Zwischen dem Zeitpunkt der Erfüllung der Lebenszyklus-Konfigurationsregeln und der dadurch ausgelösten Aktion kann eine Verzögerung eintreten. Buchhaltungsänderungen werden jedoch sofort nach der Erfüllung der Lebenszyklus-Konfigurationsregel durchgeführt, auch wenn die Maßnahme noch nicht durchgeführt wurde.
Beispielsweise wird Ihnen nach dem Ablaufzeitpunkt des Objekts keine Speichergebühr in Rechnung gestellt, auch wenn das Objekt nicht sofort gelöscht wird. Ein weiteres Beispiel: Sobald die Objektübergangszeit abgelaufen ist, werden Ihnen Speichergebühren von S3 Glacier Flexible Retrieval in Rechnung gestellt, auch wenn das Objekt nicht sofort in die Speicherklasse S3 Glacier Flexible Retrieval überführt wird. Lebenszyklusübergänge auf die S3-Intelligent-Tiering-Speicherklasse sind die Ausnahme. Änderungen bei der Abrechnung treten erst auf, wenn das Objekt in die S3-Intelligent-Tiering-Speicherklasse übergegangen ist.
Sie können für alle Objekte oder eine Teilmenge der Objekte in einem Bucket Lebenszyklusregeln definieren, indem Sie ein gemeinsames Präfix (Objektnamen, die mit einer gemeinsamen Zeichenfolge beginnen) oder einen Tag verwenden. Mit einer Lebenszyklusregel können Sie spezifische Aktionen für aktuelle und nicht aktuelle Objektversionen definieren. Weitere Informationen finden Sie unter:
So erstellen Sie eine Lebenszyklusregel:
-
Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie eine Lebenszyklusregel erstellen möchten.
-
Wählen Sie den Tab Management (Verwaltung) und dann die Option Create lifecycle rule (Lebenszyklusregel erstellen).
-
Geben Sie unter Lifecycle rule name (Name der Lebenszyklusregel) einen Namen für Ihre Regel ein.
Der Name muss innerhalb des Buckets eindeutig sein.
-
Wählen Sie den Umfang der Lebenszyklusregel:
-
Um diese Lebenszyklusregel auf alle Objekte mit einem bestimmten Präfix oder Tag anzuwenden, wählen Sie Umfang auf bestimmte Präfixe oder Markierungen beschränken aus.
-
Um den Bereich nach Präfix zu beschränken, geben Sie unter Prefix (Präfix) das Präfix ein.
-
Um den Bereich nach Tag einzuschränken, wählen Sie Add tag (Tag hinzufügen), und geben Sie den Tag-Schlüssel und den Wert ein.
Weitere Hinweise zu Präfixen für Objektnamen finden Sie unter Erstellen von Objektschlüsselnamen. Weitere Informationen über Objekt-Markierungen finden Sie unter Kategorisieren des Speichers mithilfe von Markierungen.
-
-
Um diese Lebenszyklusregel auf alle Objekte im Bucket anzuwenden, wählen Sie This rule applies to all objects in the bucket (Diese Regel gilt für alle Objekte in dem Bucket) und wählen Sie I acknowledge that this rule applies to all objects in the bucket (Ich bestätige, dass diese Regel für alle Objekte in dem Bucket gilt).
-
-
Um eine Regel nach Objektgröße zu filtern, können Sie Minimale Objektgröße angeben, Maximale Objektgröße angeben oder beide Optionen aktivieren.
-
Wenn Sie eine minimale Objektgröße oder eine maximale Objektgröße angeben, muss der Wert größer als 0 Byte und bis zu 5 TB sein. Sie können diesen Wert in Byte, KB, MB oder GB angeben.
-
Wenn Sie beides angeben, muss die maximale Objektgröße größer als die minimale Objektgröße sein.
-
-
Wählen Sie unter Lifecycle rule actions (Lebenszyklusregelaktionen) die Aktionen aus, die Ihre Lebenszyklusregel ausführen soll:
-
Umsetzung aktueller Versionen von Objekten zwischen Speicherklassen
-
Umsetzung früherer Versionen von Objekten zwischen Speicherklassen
-
Ablauf aktueller Versionen von Objekten
-
Dauerhaftes Löschen früherer Versionen von Objekten
-
Löschen abgelaufener Löschmarkierungen oder unvollständiger mehrteiliger Uploads
Abhängig von den von Ihnen ausgewählten Aktionen werden verschiedene Optionen angezeigt.
-
-
So setzen Sie aktuelle Versionen von Objekten zwischen Speicherklassen unter Transition current versions of objects between storage classes (Umsetzen von aktuellen Versionen von Objekten zwischen Speicherklassen) um:
-
Wählen Sie unter Storage class transitions (Speicherklassenumsetzungen) die Speicherklasse aus, zu der Sie wechseln möchten:
-
Standard-IA
-
Intelligent-Tiering
-
One Zone-IA
-
S3 Glacier Flexible Retrieval
-
Glacier Deep Archive
-
-
Geben Sie im Feld Days after object creation (Tage nach der Objekterstellung) die Anzahl der Tage nach der Erstellung für die Umsetzung des Objekts ein.
Weitere Informationen über Speicherklassen finden Sie unter Verwenden von Amazon-S3-Speicherklassen. Sie können Übergänge für aktuelle oder vorhergehende Objektversionen definieren oder sowohl für aktuelle als auch vorhergehende Versionen. Versioning ermöglicht Ihnen, mehrere Versionen eines Objekts in einem Bucket aufzubewahren. Weitere Informationen über die Versionssteuerung finden Sie unter Verwenden der S3-Konsole.
Wichtig
Wenn Sie die Speicherklasse S3 Glacier Flexible Retrieval oder Glacier Deep Archive wählen, bleibt Ihr Objekt in Amazon S3. Sie können nicht direkt über den separaten Amazon-S3-Glacier-Service auf sie zugreifen. Weitere Informationen finden Sie unter Übergang von Objekten mit Amazon-S3-Lebenszyklus.
-
-
So setzen Sie nicht aktuelle Versionen von Objekten zwischen Speicherklassen unter Transition non-current versions of objects between storage classes (Umsetzen von nicht aktuellen Versionen von Objekten zwischen Speicherklassen) um:
-
Wählen Sie unter Storage class transitions (Speicherklassenumsetzungen) die Speicherklasse aus, zu der Sie wechseln möchten:
-
Standard-IA
-
Intelligent-Tiering
-
One Zone-IA
-
S3 Glacier Flexible Retrieval
-
Glacier Deep Archive
-
-
Geben Sie im Feld Days after object becomes non-current (Tage, nachdem das Objekt nicht mehr aktuell ist) die Anzahl der Tage nach der Erstellung für die Umsetzung des Objekts ein.
-
-
Um den Ablauf aktueller Versionen von Objekten auszulösen, geben Sie unter Expire current versions of objects (Ablauf aktueller Objektversionen) in Number of days after object creation (Anzahl der Tage nach der Objekterstellung) die Anzahl der Tage ein.
Wichtig
In einem Bucket ohne Versionierung führt die Ablaufaktion dazu, dass Amazon S3 das Objekt dauerhaft entfernt. Weitere Informationen über die Lebenszyklus-Aktionen finden Sie unter Elemente, die Lebenszyklus-Aktionen beschreiben.
-
Um frühere Versionen von Objekten dauerhaft zu löschen, geben Sie unter Permanently delete previous versions of objects (Dauerhaftes Löschen nicht aktueller Versionen von Objekten) in Days after objects become noncurrent (Tage nach dem Erlöschen von Objekten) die Anzahl der Tage ein. Sie können die Anzahl der beizubehaltenden neueren Versionen optional angeben, indem Sie einen Wert unter Number of newer versions to retain (Anzahl der beizubehaltenden neueren Versionen) eingeben.
-
Wählen Sie unter Delete expired delete markers or incomplete multipart uploads (Abgelaufene Löschmarkierungen oder unvollständige mehrteilige Uploads löschen) Delete expired object delete markers (Abgelaufene Objektlöschmarken löschen) und Delete incomplete multipart uploads (Unvollständige mehrteilige Uploads löschen) aus. Geben Sie dann die Anzahl der Tage nach der mehrteiligen Upload-Initiierung ein, die Sie beenden und für die Sie unvollständige mehrteilige Uploads löschen möchten.
Weitere Informationen über mehrteilige Uploads finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads.
-
Wählen Sie Create rule aus.
Wenn die Regel keine Fehler enthält, aktiviert Amazon S3 sie, und Sie können sie im Tab Management (Verwaltung) unter Lifecycle rules (Lebenszyklusregeln) sehen.
Informationen zu CloudFormation-Vorlagen und -Beispielen finden Sie unter Working with AWS CloudFormation templates (Arbeiten mit CF-Vorlagen) und AWS::S3::Bucket im AWS CloudFormation-Benutzerhandbuch.
Zur Verwaltung der S3-Lebenszyklus-Konfigurationen können Sie die folgenden AWS CLI-Befehle verwenden:
-
put-bucket-lifecycle-configuration
-
get-bucket-lifecycle-configuration
-
delete-bucket-lifecycle
Weitere Informationen zum Einrichten der AWS CLI finden Sie unter Entwickeln mit Amazon S3 über die AWS CLI.
Beachten Sie, dass die Amazon-S3-Lebenszyklus-Konfiguration eine XML-Datei ist. Wenn Sie jedoch die AWS CLI verwenden, können Sie die XML nicht angeben. Sie müssen stattdessen das JSON-Format angeben. Nachfolgend finden Sie Beispiele für XML-Lebenszyklus-Konfigurationen und entsprechenden JSON-Code, den Sie in einem AWS CLI-Befehl angeben können:
Betrachten Sie das folgende Beispiel einer S3-Lebenszyklus-Konfiguration:
Beispiel 1
Beispiel 2
Sie können den Befehl put-bucket-lifecycle-configuration
wie folgt testen.
So testen Sie die Konfiguration
-
Speichern Sie die JSON-Lebenszyklus-Konfiguration in einer Datei (
lifecycle.json
). -
Führen Sie den folgenden AWS CLI-Befehl aus, um die Lebenszyklus-Konfiguration auf Ihrem Bucket einzurichten.
$
aws s3api put-bucket-lifecycle-configuration \ --bucketbucketname
\ --lifecycle-configuration file://lifecycle.json -
Rufen Sie zur Prüfung die S3-Lebenszyklus-Konfiguration wie folgt mit dem
get-bucket-lifecycle-configuration
AWS CLI-Befehl ab.$
aws s3api get-bucket-lifecycle-configuration \ --bucketbucketname
-
Verwenden Sie zum Löschen der S3-Lebenszyklus-Konfiguration wie folgt den
delete-bucket-lifecycle
AWS CLI-Befehl.aws s3api delete-bucket-lifecycle \ --bucket
bucketname
In den folgenden Abschnitten der Amazon Simple Storage Service API-Referenz wird die REST API im Zusammenhang mit der S3 Lebenszykluskonfiguration beschrieben.