2012-03-14 7 views
3

Amazon S3 APIにオブジェクトの有効期限が追加されました。は、数日後にフォルダにアップロードされたすべてのファイルを削除しました。Amazon S3にアップロードしたファイルは、数日後に自動的に削除できますか?

アップロードされた日から各ファイルに対して同じものを作成できますか?

たとえば、foo.pngをアップロードすると、X日後に、そのファイルをフォルダ内のすべてのファイルではなく削除します。

答えて

4

S3のファイルのパスがの接頭辞を超えていません。

/ 
| 
+--folder1 
    | 
    +--folder2 
    | 
    +--folder3 
    | | 
    | +--foo.png 
    | | 
    | +--foo2.png 
    | 
    +--bar.png 

そして、あなたはあなたのルールは、唯一foo.pngに適用されます「folder1の/ FOLDER3/foo.png」(一つだけのファイルの一致があるでしょうし、それを設定したい:あなたが構造を持っているのであれば、次のようにあなたのバケツの "全体名"接頭辞)。

ただし、ルールの数に関する制限に注意してください。 Object Expiration docs

オブジェクトの有効期限を設定するには、ライフサイクル設定をバケットに追加します。これには、バケット内のさまざまなオブジェクトの有効期間が記述されています。ライフサイクル設定には、最大100のルールを設定できます。各ルールは、オブジェクト接頭辞と、この接頭辞で始まるオブジェクトの存続期間を識別します。ライフタイムは、オブジェクトを削除したいときの作成日数です。

+0

私は今どのように動作しているか理解しています。基本的には、特定のプレフィックスの代わりにフォルダ全体のライフサイクルを設定していました。しかし、1バケットあたり100ライフサイクルはほとんどありません。これは私が達成しようとしているものです:人々はS3でファイルをアップロードし、それらのファイルはX日後に削除されます(Bascially私は7日間の試行オプションでサイトをアップロードしました)。これを行う最善の方法は何ですか? – jQuerybeast

+2

バケツにライフタイム設定を設定すると、そのファイルすべてに対して有効になります。これは、 'ファイル/'フォルダ(または技術的に接頭辞)があり、あなたのバケットの 'ファイル'接頭辞の有効期限ポリシーを7日間有効にすると、この接頭辞でアップロードされた各ファイルはアップロードされてから7日後に削除されます。これはまさにあなたが探しているものと思われます。ファイルごとにポリシーは必要ありません。 1つはあなたのニーズに合っています。 – Viccari

+0

それはそのように動作していないようです。フォルダに有効期限を適用すると、そのフォルダ内のすべてのファイルが同じ日に期限切れになります。 – jQuerybeast

関連する問題