繁体   English   中英

使用aws-sdk gem删除Amazon S3上的“文件夹”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM