我为Amazon S3中的某些文件设置了网络存储空间。我正在使用其PHP SDK来管理这些文件。我有一个自动化脚本运行,在一段时间后删除某个桶中的文件。我刚刚意识到我并不相信它实际上正在删除文件,而是用删除标记替换它们。当我使用像Transmission(Mac)这样的程序查看存储桶时,它会列出自2013年设置脚本以来的所有文件。但是如果我在浏览器中访问管理界面,它只列出我在脚本中设置的截止值的文件。
我的问题是:当我不需要实际保存这些文件时,我是否需要支付更多的钱来存储这些标记?我如何永久删除这些文件?我发现的一切都是这只是版本化存储桶的问题,但这个特定的存储桶没有版本。根据文档,我需要在删除调用中包含对象的版本ID以删除标记,但此时,如何检索该信息,因为' listObjects'不归还这些。
提前致谢!
编辑:我还应该提一下,如果我使用传输来删除一个删除的'文件,文件仍然打开,就像从未删除过一样。
答案 0 :(得分:1)
如果在Amazon S3存储桶上启用了版本控制,则将对象上传到现有键名称将导致创建该对象的其他版本。之前的版本将保留在Amazon S3上。删除对象将添加删除标记 strong>,以便该对象似乎已被删除,但之前的版本仍可供下载。
如果Bucket启用了版本控制,您可以在控制台中查看对象版本并删除标记:
在一段时间后从Amazon S3删除对象的更简单方法是: