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.
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.
Sie können die Richtlinie Amazon S3-Objektablauf
verwendenAmazon 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.
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.
Tags und Links ruby ruby-on-rails amazon-s3 amazon-web-services