使用 boto3,可以删除存储桶中的文件,如下所示
for object in bucket.objects.all():
if 'xyz' in object.key:
object.delete()
这会为每个文件发送一个 REST API 调用。如果您有大量文件,这可能需要很长时间。
有没有更快的方法来做到这一点?
最佳答案
删除文件的最简单方法是使用 Amazon S3 Lifecycle Rules .只需指定前缀和年龄(例如创建后 1 天),S3 就会为您删除文件!
但是,这不一定是删除它们的最快方法 - 执行规则可能需要 24 小时。
如果您真的想自己删除对象,请使用 delete_objects()
而不是 delete_object()
.每次调用最多可以接受 1000 个键,这比单独删除每个对象要快。
关于amazon-web-services - 在 Amazon S3 中删除文件的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48025339/