Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Warum funktioniert die Lebenszyklusregel in meinem Amazon-S3-Bucket nicht, obwohl ich sie vor mehr als einem Tag angewendet habe?

Lesedauer: 4 Minute
0

Ich habe für meinen Amazon Simple Storage Service (Amazon S3)-Bucket eine Lebenszykluskonfigurationsregel festgelegt, um Objekte in eine andere Speicherklasse zu übertragen oder ablaufen zu lassen. Die Objekte haben sich jedoch nicht gemäß der Regel geändert.

Behebung

Dies passiert, wenn zwischen dem Zeitpunkt, an dem die Lebenszyklusregel erfüllt ist, und dem Abschluss der Aktion der Regel eine Verzögerung besteht. Änderungen in der Abrechnung werden angewendet, wenn die Lebenszyklusregel erfüllt ist, auch wenn die Aktion noch nicht abgeschlossen ist.

Beispiel:

  • Wenn Sie eine Lebenszyklusregel für den Ablauf von Objekten erstellt haben, wird Ihnen der Speicherplatz nach Ablauf der Gültigkeitsdauer nicht mehr in Rechnung gestellt. Dies gilt auch dann, wenn das Objekt nicht sofort abläuft.
  • Eine Lebenszyklusregel zur Übertragung von Objekten in die GLACIER-Speicherklasse berechnet die Speichertarife von Amazon S3 Glacier, wenn die Objektübergangszeit abgelaufen ist. Dies geschieht auch dann, wenn das Objekt nicht sofort in die GLACIER-Speicherklasse übertragen wird.
    **Hinweis:**Wenn Sie einen Lebenszyklusübergang zur INTELLIGENT_TIERING-Speicherklasse festlegen, erfolgen Änderungen an der Abrechnung erst dann, wenn das Objekt in die INTELLIGENT_TIERING-Speicherklasse übertragen wird. Dies ist eine Ausnahme.

Der S3-Lebenszyklus wird nur einmal pro Tag ausgeführt. Darüber hinaus rundet Amazon S3 das Übertragungs- oder Ablaufdatum eines Objekts auf Mitternacht UTC des nächsten Tages auf. Zum Beispiel: Sie erstellen am 01.01.2020 um 10:30 Uhr UTC ein Objekt mit einer Lebenszyklusregel, mit der das Objekt nach 3 Tagen übertragen werden soll. Übertragungszeitpunkt dieses Objekts ist am 05.01.2020 um 00:00 Uhr UTC. Bevor Sie überprüfen, ob eine Lebenszyklusregel erfüllt wurde, stellen Sie sicher, dass genügend Zeit verstrichen ist.

Wenn genügend Zeit verstrichen ist und Ihre Lebenszyklusregel nicht erfüllt wurde, überprüfen Sie, ob Sie den Präfixfilter für Objekte in der Lebenszyklusregel korrekt eingerichtet haben. 

Wichtig:

  • Wenn Sie in der Lebenszyklusregel keinen Präfixfilter angeben, wird die Regel auf alle Objekte im Bucket angewendet.
  • Wenn Sie images/ als Präfixfilter angeben, wird die Lebenszyklusregel auf alle Objekte unter dem Präfix images/ angewendet.
    Hinweis: Achten Sie darauf, das Zeichen / am Ende des Präfixfilters anzugeben. Wenn Sie das Zeichen / am Anfang des Präfixfilters angeben, wird die Lebenszyklusregel nicht korrekt ausgewertet.

Sie können die HeadObject-API oder die Amazon-S3-Konsole verwenden, um zu überprüfen, wann ein aktuelles Versionsobjekt ablaufen soll.

Hinweis: Wenn beim Ausführen von Befehlen in AWS Command Line Interface (AWS CLI) Fehler auftreten, stellen Sie sicher, dass Sie die neueste Version von AWS CLI verwenden.

Führen Sie den folgenden Befehl in AWS CLI aus, um herauszufinden, wann das Objekt abläuft:

$ aws s3api head-object --bucket bucketname --key file.txt

Die Ausgabe sieht etwa so aus wie die folgende:

 {  
 "AcceptRanges": "bytes",  
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",  
 "LastModified": "2023-02-22T17:20:34+00:00",  
 "ContentLength": 6,  
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",  
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",  
 "ContentType": "text/plain",  
 "ServerSideEncryption": “AES256”,  
 "Metadata": {}  
}

Der Antwort-Header Expiration enthält das Ablaufdatum und die Regel-ID. Das Feld expiry-date gibt das Datum an, an dem Amazon S3 das Objekt zur Entfernung in die Warteschlange stellt und asynchron entfernt. Das Feld rule-id gibt die Lebenszyklusregel an, die auf das Objekt angewendet wird.

Gehen Sie wie folgt vor, um mit der Amazon-S3-Konsole das Ablaufdatum eines Objekts zu überprüfen:

  1. Öffnen Sie die Amazon-S3-Konsole.
  2. Wählen Sie aus der Liste Buckets den Namen Ihres Buckets aus.
  3. Wählen Sie den Namen des Objekts aus, das Sie überprüfen möchten.
  4. Wählen Sie die Registerkarte Eigenschaften aus.
  5. Überprüfen Sie im Abschnitt Übersicht über die Objektverwaltung unter Verwaltungskonfigurationen die Felder Ablaufregel und Ablaufdatum.

Das Feld Ablaufdatum gibt das Datum an, an dem Amazon S3 das Objekt zur Entfernung in die Warteschlange stellt und asynchron entfernt. Das Feld Ablaufregel gibt die Lebenszyklusregel an, die auf das Objekt angewendet wird.

Hinweis: Nur Objekte der aktuellen Version geben den Antwort-Header Expiration für HEAD- und GET-Anfragen zurück. Frühere Versionen und Löschmarkierungen geben diesen Antwort-Header nicht zurück. Außerdem erhalten Sie keine Antwort-Header für Objekte, die für Übertragungen in Frage kommen.

Sie können die Dashboards von S3 Storage Lens verwenden, um den Fortschritt aktiver Lebenszyklusregeln sowie die von Lebenszyklusregeln vorgenommenen Updates zu überwachen.

Relevante Informationen

Einrichten von Lebenszykluskonfiguration für einen Bucket

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren