如何解决使用删除标记删除S3存储桶版本
我正在尝试删除具有版本的s3存储桶并删除标记。 我无法将它们从控制台中删除,因此我被困了一段时间。
我也尝试过运行一些python脚本,但仍然没有任何变化。
解决方法
在Amazon S3管理控制台中,您将看到:Versions: Hide / Show
单击Show
将显示对象的所有版本,包括删除标记。然后,您可以选择版本并删除标记并删除它们。
以下Python代码应该可以完成您想做的事情:
bucket = "my_s3_bucket_1234aefa"
file_to_delete = "file_i_want_to_delete.png"
results = []
response = s3_client.list_object_versions(
Bucket=bucket,Prefix=file_to_delete,)
for k in ['Versions','DeleteMarkers']:
if k in response:
k_response = response[k]
to_delete = [r['VersionId'] for r in k_response if r['Key'] == file_to_delete]
results.extend(to_delete)
for version in results:
s3_client.delete_object(Bucket=bucket,Key=file_to_delete,VersionId=version)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。