2017-09-13 84 views
0

ライフサイクルルールが短いバケットを使用していますが、7日以上経過したものはすべて削除されます。追加されるファイルには、動的に生成される名前があります。AWS S3では、ライフサイクルルールからファイルを除外できますか

バケットにはこのルールから除外するファイルが1つあります。このファイルをルールから除外して削除されないようにする方法はありますか?

+0

削除する必要があるファイル名に、削除しないファイル名とは異なる特定の接頭辞がある場合は、接頭辞に基づいてライフサイクルルールを定義できます。 – Rajesh

答えて

0

オブジェクトと一致するルールからオブジェクトを除外する方法はありません。おそらく、必要に応じて接頭辞を使用してオブジェクトを並べ替える必要があります。

ハッキングがあります。これは、ファイルを自分自身にコピーして、頻繁にルールに合うほどの年齢にならないようにすることですが、それは明らかに繊細です。 S3 PUT +コピー操作では、オブジェクトをダウンロードしたり再アップロードすることなく、非破壊でコピーすることができます。これにより、期限切れタイマーがリセットされます。

しかし、最も良い解決策は、ランダムなファイル名にいくつかの静的文字を付けることです。 S3パーティション分割実装(S3でバケット容量スケーリングを処理する方法)は、静的プレフィックス(例:images/)だけでなく、完全にランダムなキーで可能な限りランダムな文字でも同様に機能します。

+0

ありがとう、このシステムでは、ファイルの命名方法を変更することは大きな変更になります。ハックの解決策は実際にはかなり良いと思うが、おそらく予定通りのラムダ関数を追加して私のためにできるだろう。 – mike

0

ファイルが小さくて氷河とS3のストレージを支払う必要がない場合は、復元を開始してDaysを非常に高い数値に設定することもできます。

関連する問題