微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 如何在S3上重命名存储桶中的文件夹?

虽然听起来很简单,但它似乎是一项非常复杂的任务.

解决方法

如果您使用的是aws-s3 gem,则以下代码会将存储桶BUCKET_NAME中的文件夹OLD_FOLDER_NAME重命名为NEW_FOLDER_NAME:
bsize = OLD_FOLDER_NAME.size
bucket = AWS::S3::Bucket.find(BUCKET_NAME)
bucket.objects({:prefix=>OLD_FOLDER_NAME}).each do |o|
  AWS::S3::S3Object.rename(o.key,NEW_FOLDER_NAME + o.key[bsize..-1],BUCKET_NAME)
end

而已.文件夹不是真正的对象,因此您所要做的就是将最终在该特定路径中的所有对象重命名为新路径.虚拟文件夹将作为结果重命名.

原文地址:https://www.jb51.cc/ruby/265829.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐