加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何使用boto3删除AWS桶中的文件夹及其内容

发布时间:2020-12-20 12:00:08 所属栏目:Python 来源:网络整理
导读:关于如何删除文件夹的内容,documentation有点模棱两可.如果你看看它是如何为boto3完成的,键没有在boto3前面部分中定义,它只在boto2示例中定义. 什么是灵活的(超过1000个文件)成语删除文件夹的内容? 解决方法 我不认为你可以在boto2中的一个成语中删除1000个
关于如何删除文件夹的内容,documentation有点模棱两可.如果你看看它是如何为boto3完成的,键没有在boto3前面部分中定义,它只在boto2示例中定义.

什么是灵活的(超过1000个文件)成语删除文件夹的内容?

解决方法

我不认为你可以在boto2中的一个成语中删除1000个项目.但是,从boto3的角度来看,您可以尝试以下方法:

s3 = boto3.resource('s3')
bucket = s3.Bucket('bucket-name')
bucket.objects.filter(Prefix="path/to/dir").delete()

以上测试并正在运行

>>> import boto3
>>> s3 = boto3.resource('s3')
>>> b = s3.Bucket('MY_BUCKET_NAME')
>>> b.objects.filter(Prefix="test/stuff")
s3.Bucket.objectsCollection(s3.Bucket(name='MY_BUCKET_NAME'),s3.ObjectSummary)
>>> list(b.objects.filter(Prefix="test/stuff"))
[s3.ObjectSummary(bucket_name='MY_BUCKET_NAME',key=u'test/stuff/new')]
>>> b.objects.filter(Prefix="test/stuff").delete()
[{u'Deleted': [{u'Key': 'test/stuff/new'}],'ResponseMetadata': {'HTTPStatusCode': 200,'RetryAttempts': 0,'HostId': 'BASE64_ID_1','RequestId': 'REQ_ID','HTTPHeaders': {'x-amz-id-2': 'BASE64_ID_2','server': 'AmazonS3','transfer-encoding': 'chunked','connection': 'close','x-amz-request-id': 'REQ_ID','date': 'Fri,12 May 2017 21:21:47 GMT','content-type': 'application/xml'}}}]
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读