作为简单,因为它的声音,它似乎是一个非常复杂的任务。

有帮助吗?

解决方案

如果您正在使用AWS-S3宝石,下面的代码将在斗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

就是这样。文件夹是不是真正的对象,因此,所有你需要做的是重命名所有在那个特定的路径到新的路径结束的对象。虚拟文件夹将被重命名为的结果。

其他提示

好像 AWS命令行界面 是新的方式做这样的东西。利用它,你可以重命名文件夹是这样的:

aws s3 mv --recursive s3://bucketname/oldfoldername s3://bucketname/newfoldername

请务必并用--dryrun选项,以确保它会做什么,你认为它会做启动。

如果您使用S3管理控制台,您可以剪切和粘贴。进入你想要的文件夹,按Ctrl + A,然后单击操作>剪切。让你的新文件夹,单击操作>粘贴。

使用BucketExplorer!这是一个伟大的应用程序!你可以做你曾经想要做你的S3在一个非常非常容易理解的GUI

几乎任何东西
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top