【发布时间】:2012-03-14 18:49:45
【问题描述】:
Amazon S3 API 添加了对象过期功能,它会在几天后删除文件夹内上传的所有文件。
是否可以从上传之日起对每个文件进行相同的处理?
例如,当我上传 foo.png 时,X 天后,删除该文件而不是文件夹中的所有文件。
【问题讨论】:
标签: amazon-s3
Amazon S3 API 添加了对象过期功能,它会在几天后删除文件夹内上传的所有文件。
是否可以从上传之日起对每个文件进行相同的处理?
例如,当我上传 foo.png 时,X 天后,删除该文件而不是文件夹中的所有文件。
【问题讨论】:
标签: amazon-s3
您的文件路径不超过 S3 中的 前缀。所以,如果你的结构如下:
/
|
+--folder1
|
+--folder2
|
+--folder3
| |
| +--foo.png
| |
| +--foo2.png
|
+--bar.png
如果您希望您的规则仅适用于 foo.png,请将其设置为“folder1/folder3/foo.png”(您的存储桶中只有一个与“整个名称”前缀匹配的文件)。
但请注意规则数量的限制。来自Object Expiration docs:
要设置对象的过期时间,您可以向存储桶添加生命周期配置,该配置描述存储桶中各种对象的生命周期。一个生命周期配置最多可以有 100 条规则。每个规则标识一个对象前缀和以此前缀开头的对象的生命周期。生命周期是自创建以来您希望删除对象的天数。
【讨论】:
files/ 文件夹(或技术上的前缀),并且您在存储桶上为 files 前缀应用了 7 天到期的生命周期策略,则使用此前缀上传的每个文件都将获得上传7天后删除。这似乎正是您正在寻找的。您不需要每个文件的策略。一个就能满足您的需求。
folder1/,我想folder2、folder3 以及bar.png 将被生命周期规则删除?我问是因为我不确定文件夹(如文件夹 1、文件夹 2、文件夹 3)是否被视为 s3 文件/对象。谢谢!