我有一个rails 3.2 app。使用雾来存储S3中的文件。
我想编写一个脚本来重命名已上传的所有文件。我似乎无法在这个领域找到任何雾文件。
雾有可能吗?我需要另一颗宝石吗?
答案 0 :(得分:13)
如this post中所述,复制怎么样? 比照fog's requests sources和fog's models sources。
你应该可以这样做:
storage.copy_object('old_bucket', 'old_filename', 'new_bucket', 'new_filename')
或
file.copy('new_bucket', 'new_filename')
在成功复制后仍然需要销毁原始文件。
答案 1 :(得分:8)
坏消息是你需要做一个get / create / destroy
foo = bucket.files.get 'foo'
bar = bucket.files.create :key => 'bar', :body => foo.body
foo.destroy
好消息是,如果您在同一地区从ec2进行此操作,可能会发生与在本地计算机上重命名文件一样快的速度