【问题标题】:Can files uploaded to Amazon S3 get auto-deleted after few days?上传到 Amazon S3 的文件可以在几天后自动删除吗?
【发布时间】:2012-03-14 18:49:45
【问题描述】:

Amazon S3 API 添加了对象过期功能,它会在几天后删除文件夹内上传的所有文件。

是否可以从上传之日起对每个文件进行相同的处理?

例如,当我上传 foo.png 时,X 天后,删除该文件而不是文件夹中的所有文件。

【问题讨论】:

    标签: amazon-s3


    【解决方案1】:

    您的文件路径不超过 S3 中的 前缀。所以,如果你的结构如下:

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

    如果您希望您的规则仅适用于 foo.png,请将其设置为“folder1/folder3/foo.png”(您的存储桶中只有一个与“整个名称”前缀匹配的文件)。

    但请注意规则数量的限制。来自Object Expiration docs

    要设置对象的过期时间,您可以向存储桶添加生命周期配置,该配置描述存储桶中各种对象的生命周期。一个生命周期配置最多可以有 100 条规则。每个规则标识一个对象前缀和以此前缀开头的对象的生命周期。生命周期是自创建以来您希望删除对象的天数。

    【讨论】:

    • 好的,我现在明白它是如何工作的了。基本上我是为整个文件夹而不是特定前缀设置生命周期。但是每个桶 100 个生命周期几乎没有。这就是我想要实现的目标:人们将在 S3 上上传文件,并且这些文件将在 X 天后被删除(基本上我上传的网站文件带有 7 天的试用选项)。这样做的最佳方法是什么?
    • 一旦您为存储桶设置了生命周期配置,它将对其所有文件有效。这意味着,如果您有一个 files/ 文件夹(或技术上的前缀),并且您在存储桶上为 files 前缀应用了 7 天到期的生命周期策略,则使用此前缀上传的每个文件都将获得上传7天后删除。这似乎正是您正在寻找的。您不需要每个文件的策略。一个就能满足您的需求。
    • 它似乎不是那样工作的。如果我对文件夹应用过期,文件夹中的所有文件都将在同一天过期。
    • 我设置的前缀是*.png 7天。
    • @Viccari 很抱歉撞了这么旧的东西。如果前缀设置为folder1/,我想folder2folder3 以及bar.png 将被生命周期规则删除?我问是因为我不确定文件夹(如文件夹 1、文件夹 2、文件夹 3)是否被视为 s3 文件/对象。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    相关资源
    最近更新 更多