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

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...