Automatisches Löschen von Objekten, die älter als n Tage in Amazon S3 sind (Wie?)

7

Ich speichere viele Bilder in Amazon S3, mit einer Ruby-Lib ( Ссылка )

Es ist mir egal, die Fotos älter als 1 Woche, dann um den Raum in S3 zu befreien muss ich diese Fotos löschen.

Ich weiß, dass es eine Methode gibt, das Objekt in einem bestimmten Bucket zu löschen:

%Vor%

Gibt es eine Möglichkeit, das Bild älter als eine Woche automatisch zu löschen?

Wenn es nicht existiert, muss ich dazu einen Daemon schreiben: - (

Danke

UPDATE: Jetzt ist es möglich, überprüfen Sie die Antwort von Roberto.

    
Alessandro DS 13.07.2010, 13:41
quelle

3 Antworten

1

Leider bietet Amazon keine API zum automatischen Löschen auf der Grundlage bestimmter Kriterien an.

Sie müssen einen Daemon schreiben, der alle Fotos durchläuft und nur diejenigen auswählt, die Ihren Kriterien entsprechen, und diese anschließend einzeln löschen.

    
Zachary Ozer 13.07.2010, 16:21
quelle
42

Sie können die Richtlinie Amazon S3-Objektablauf

verwenden

Amazon S3 - Objektablauf | AWS-Blog

  

Wenn Sie S3 verwenden, um Protokolldateien oder andere Dateien zu speichern, die begrenzt sind   Lebenszeit, mussten Sie wahrscheinlich eine Art von Mechanismus im Haus zu bauen   Verfolgen von Objektalter und Initiieren eines Massenlöschprozesses von Zeit zu Zeit   Zeit. Obwohl unsere neue Multi-Objekt-Löschfunktion Ihnen helfen wird   um diesen Prozess schneller und einfacher zu machen, wollen wir immer weiter gehen.

     

Mit der neuen Objektablauffunktion von S3 können Sie Regeln definieren   Planen Sie das Entfernen Ihrer Objekte nach einem vordefinierten Zeitraum.   Die Regeln sind in der Lifecycle-Konfigurationsrichtlinie angegeben, die Sie verwenden   auf einen Eimer anwenden. Sie können diese Richtlinie über die S3 API oder aktualisieren   von der AWS Management Console.

Objektablauf | AWS S3-Dokumentation

  

Einige Objekte, die Sie in einem Amazon S3-Bucket speichern, haben möglicherweise a   wohldefinierte Lebensdauer. Zum Beispiel könnten Sie regelmäßig hochladen   Protokolle in Ihrem Bucket, aber Sie müssen diese Protokolle möglicherweise für eine   bestimmte Menge an Zeit. Sie können den Object Lifecycle verwenden   Management zum Festlegen einer Lebensdauer für Objekte in Ihrem Bucket; wenn das   Lebenszeit eines Objekts abläuft, stellt Amazon S3 die Objekte für   Löschen.

Ps: Klicken Sie auf die Links für weitere Informationen.

    
Roberto 09.01.2012 15:42
quelle
1

Wenn Sie Zugriff auf eine lokale Datenbank haben, ist es einfach, jedes Bild einfach zu protokollieren (Sie tun dies möglicherweise bereits abhängig von Ihrer Anwendung), und dann können Sie eine einfache Abfrage durchführen, um die gesamte Liste abzurufen und zu löschen. Dies ist viel schneller als die direkte Abfrage von S3, erfordert jedoch eine Art von lokaler Speicherung.

    
drharris 13.07.2010 16:24
quelle