我目前这样做是为了删除文件夹中的S3对象/带有前缀:
require 'aws-sdk-s3'
bucket = Aws::S3::Resource.new.bucket('my-bucket')
bucket.objects(prefix: 'uploads/').map(&:delete)
对于数千个对象来说,这可能很慢。我希望通过一个请求删除这样的内容:
bucket.delete(prefix: 'uploads/')
我在文档中找不到类似的东西。这样的事情有可能吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
另一种选择是在Object Lifecycle Management下定义一条规则,该规则要求在给定路径(前缀)中过期(删除)超过特定天数(例如一天)的对象。
此操作会自动删除免费的文件(而删除对象的API调用会产生费用)。但是,文件可能需要24小时才能删除。