[英]Delete “Folder” on Amazon S3 with aws-sdk gem
I'm able to delete individual files within a "Folder" on Amazon S3 using the following: 我可以使用以下命令删除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
but this leaves an empty folder. 但这会留下一个空文件夹。 How can I just delete the folder entirely (folder_path)?
我怎样才能完全删除文件夹(folder_path)?
This is an old question, but you can do this for aws-sdk 2.0> 这是一个老问题,但你可以为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
was depreciated delete
已折旧
Hope this helps! 希望这可以帮助!
Everything on S3 is an object you can manipulate by its "key". S3上的所有内容都是一个可以通过“密钥”操作的对象。 If you just grab it you can call
delete
on it: 如果你只是抓住它,你可以调用它上面的
delete
:
s3.buckets[ENV['AWS_BUCKET']].objects["name of the folder"].delete
删除文件夹后,必须删除文件夹中的所有文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.