首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用s3清空s3桶的最快方法是什么?

使用s3清空s3桶的最快方法是什么?
EN

Stack Overflow用户
提问于 2017-04-10 14:55:57
回答 3查看 49.1K关注 0票数 37

我正在考虑删除,然后重新创建桶(糟糕的选项,我后来意识到)。

那么如何从桶中删除所有对象呢?

我试过这个:对象

但是它删除了多个对象,而不是全部。

你能建议一下怎样才是最好的空桶方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-10 16:39:34

只需使用aws cli

代码语言:javascript
运行
复制
aws s3 rm s3://mybucket --recursive

如果您坚持使用boto3,则需要更长的答案。这将向s3发送一个删除标记。不需要文件夹处理。bucket.Object.all将创建一个不限于1K的迭代器。

代码语言:javascript
运行
复制
import boto3    
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
# suggested by Jordon Philips 
bucket.objects.all().delete()
票数 73
EN

Stack Overflow用户

发布于 2019-03-27 16:53:49

如果启用了版本控制,将有一个类似的调用来删除所有对象版本:

代码语言:javascript
运行
复制
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucket-name')
bucket.object_versions.delete()
票数 25
EN

Stack Overflow用户

发布于 2021-05-31 21:17:24

根据以前的响应,并添加启用版本控制检查,可以在启用或不启用版本的情况下清空桶:

代码语言:javascript
运行
复制
s3 = boto3.resource('s3')
s3_bucket = s3.Bucket(bucket_name)
bucket_versioning = s3.BucketVersioning(bucket_name)
if bucket_versioning.status == 'Enabled':
    s3_bucket.object_versions.delete()
else:
    s3_bucket.objects.all().delete()
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43326493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档