amazon-web-services - s3 使用 boto3.client 删除 key

标签 amazon-web-services amazon-s3 aws-lambda boto3

这将删除 s3 存储桶中的所有对象

s3_b=boto3.client("s3")
objects=s3_b.list_objects(Bucket="bucket_name")["Contents"]
for obj in objects:
    s3_b.delete_object(Bucket='bucket_name',Key=obj["Key"])

是否有类似的方法来删除具有特定键路径的对象,如s3://bucket_name/folder1/folder2/folder3/folder4,我想删除folder4中的所有对象

编辑:
是否可以在同一个循环中删除两个不同路径中的对象
例如:'folder1/folder2/folder3/folder4''folder1/folder2/folder3/folder5'

最佳答案

您可以使用filter 。例如:

import boto3

s3r = boto3.resource('s3')

bucket = s3r.Bucket('bucket_name')

for object in bucket.objects.filter(Prefix='folder1/folder2/folder3/folder4'):
    print(object)
    #object.delete() # uncomment to delete

关于amazon-web-services - s3 使用 boto3.client 删除 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63828683/

相关文章:

c++ - 如何等待PooledThreadExecutor完成?

amazon-web-services - 使用 Nodemailer 和 AWS SES 通过导入发送电子邮件

javascript - 如何使AWS S3请求可重试?

ruby-on-rails - ruby rails : How can I resolve the "Digest::Digest is deprecated; use Digest" warning when uploading to AWS-S3?

javascript - Node 负载均衡器和基于路径的路由

javascript - DynamoDB batchwriteItem 不会将数据放入 Lambda 函数中的动态 TableName

python - 如何使用 boto3 以文件系统样式检索存储桶前缀

PowerShell - 如何将自定义模块打包到 AWS Lambda 的 zip 包中

amazon-sns - 订阅的 SNS 消息很大时未调用 AWS Lambda

python-3.x - SAM Lambda : [ERROR] Runtime. ImportModuleError:无法导入模块 'index':没有名为 'pg8000' 的模块