gpt4 book ai didi

amazon-web-services - 如何使用 CLI 删除 AWS S3 中的版本存储桶?

转载 作者:行者123 更新时间:2023-12-03 06:46:35 25 4
gpt4 key购买 nike

我已经尝试了 s3cmd:

$ s3cmd -r -f -v del s3://my-versioned-bucket/

以及 AWS CLI:

$ aws s3 rm s3://my-versioned-bucket/ --recursive

但这两个命令都只是将 DELETE 标记添加到 S3。用于删除存储桶的命令也不起作用(从 AWS CLI):

$ aws s3 rb s3://my-versioned-bucket/ --force
Cleaning up. Please wait...
Completed 1 part(s) with ... file(s) remaining
remove_bucket failed: s3://my-versioned-bucket/ A client error (BucketNotEmpty) occurred when calling the DeleteBucket operation: The bucket you tried to delete is not empty. You must delete all versions in the bucket.

好吧...怎么样? their documentation中没有任何信息为了这。 S3Cmd 声称它是一个“功能齐全”的 S3 命令行工具,但它使得no reference to versions除了自己的以外。有没有什么方法可以在不使用网络界面的情况下完成此操作,这将花费很长时间并且需要我保持笔记本电脑开启?

最佳答案

我遇到了 AWS CLI 的相同限制。我发现最简单的解决方案是使用 Python 和 boto3 :

#!/usr/bin/env python

BUCKET = 'your-bucket-here'

import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket(BUCKET)
bucket.object_versions.delete()

# if you want to delete the now-empty bucket as well, uncomment this line:
#bucket.delete()

此答案的先前版本使用 boto但正如 Chuckles 指出的那样,该解决方案存在大量 key 的性能问题。

关于amazon-web-services - 如何使用 CLI 删除 AWS S3 中的版本存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29809105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com