我有一个包含一堆旧文件的 S3 存储桶。我刚刚打开了版本控制,并试图弄清楚与切换后上传的新文件相比,这给了我对旧文件的哪种删除保护。这是一些示例代码:
import boto
c = boto.connect_s3()
bucket = c.get_bucket('my-bucket')
pfx='myfolder/subfolder/'
i = 0
for k in bucket.list_versions(prefix=pfx):
if type(k) == boto.s3.deletemarker.DeleteMarker:
print "DM %s %s" % (k.name, k.version_id)
else:
s = k.get_contents_as_string()
print "REG %s %s %d" % (k.name, k.version_id, len(s))
包含pfx
一些遗留文件,所以我第一次运行它时,我得到了这样的东西:
REG myfolder/subfolder/ null 0
REG myfolder/subfolder/f1 null 369
REG myfolder/subfolder/f2 null 427
REG myfolder/subfolder/f3 null 141
f2
然后我使用该S3Browser
工具删除。当我重新运行上面的代码时,我得到了这个:
REG myfolder/subfolder/ null 0
REG myfolder/subfolder/f1 null 369
DM myfolder/subfolder/f2 KPNaxqBeIrCGKUx3tYUsRDwWzKbX06
REG myfolder/subfolder/f2 null 427
REG myfolder/subfolder/f3 null 141
问题是:有没有办法检索/取消f2
删除我刚刚删除的(唯一)版本?