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

前端之家收集整理的这篇文章主要介绍了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

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

猜你在找的Ruby相关文章