[英]Delete “Folder” on Amazon S3 with aws-sdk gem
我可以使用以下命令删除Amazon S3上“文件夹”中的单个文件:
s3 = AWS::S3.new(:access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_ACCESS_KEY'])
folder_path = 'uploads/'+@image.s3_filename
s3.buckets[ENV['AWS_BUCKET']].objects.with_prefix(folder_path).delete_all
但这会留下一个空文件夹。 我怎样才能完全删除文件夹(folder_path)?
这是一个老问题,但你可以为aws-sdk 2.0>做这个
s3 = Aws::S3::Resource.new
folder = 'path/to/the/folder'
objects = s3.bucket(ENV['S3_BUCKET_NAME']).objects({prefix: folder})
objects.batch_delete!
delete
已折旧
希望这可以帮助!
S3上的所有内容都是一个可以通过“密钥”操作的对象。 如果你只是抓住它,你可以调用它上面的delete
:
s3.buckets[ENV['AWS_BUCKET']].objects["name of the folder"].delete
删除文件夹后,必须删除文件夹中的所有文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.