Amazon S3删除标记

时间:2014-11-18 20:47:03

标签: php amazon-web-services amazon-s3 amazon

我为Amazon S3中的某些文件设置了网络存储空间。我正在使用其PHP SDK来管理这些文件。我有一个自动化脚本运行,在一段时间后删除某个桶中的文件。我刚刚意识到我并不相信它实际上正在删除文件,而是用删除标记替换它们。当我使用像Transmission(Mac)这样的程序查看存储桶时,它会列出自2013年设置脚本以来的所有文件。但是如果我在浏览器中访问管理界面,它只列出我在脚本中设置的截止值的文件。

我的问题是:当我不需要实际保存这些文件时,我是否需要支付更多的钱来存储这些标记?我如何永久删除这些文件?我发现的一切都是这只是版本化存储桶的问题,但这个特定的存储桶没有版本。根据文档,我需要在删除调用中包含对象的版本ID以删除标记,但此时,如何检索该信息,因为' listObjects'不归还这些。

提前致谢!

编辑:我还应该提一下,如果我使用传输来删除一个删除的'文件,文件仍然打开,就像从未删除过一样。

1 个答案:

答案 0 :(得分:1)

如果在Amazon S3存储桶上启用了版本控制,则将对象上传到现有键名称将导致创建该对象的其他版本。之前的版本将保留在Amazon S3上。删除对象将添加删除标记,以便该对象似乎已被删除,但之前的版本仍可供下载。

如果Bucket启用了版本控制,您可以在控制台中查看对象版本并删除标记:

  • 在Amazon S3控制台中访问您的Bucket
  • 查找屏幕顶部的版本按钮。它应该有两个按钮:显示隐藏
  • 选择显示将显示删除标记和所有先前版本的对象

在一段时间后从Amazon S3删除对象的更简单方法是:

  • 选择您的水桶
  • 打开属性
  • 点击生命周期
  • 创建规则集在对象的创建日期后n天永久删除