【发布时间】:2012-12-20 21:48:48
【问题描述】:
我有一个 rails 3.2 应用程序。在 S3 中使用雾存储文件。
我想编写一个脚本来重命名所有已上传的文件。我似乎在这方面找不到任何雾文档。
这可能在雾中实现吗?我需要另一个宝石吗?
【问题讨论】:
标签: ruby ruby-on-rails-3.2 fog
我有一个 rails 3.2 应用程序。在 S3 中使用雾存储文件。
我想编写一个脚本来重命名所有已上传的文件。我似乎在这方面找不到任何雾文档。
这可能在雾中实现吗?我需要另一个宝石吗?
【问题讨论】:
标签: ruby ruby-on-rails-3.2 fog
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')
但在成功复制后销毁原始文件仍然是必要的。
【讨论】:
copy 命令,您不必将文件内容传输到本地系统。更快。
坏消息是您需要执行 get/create/destroy
foo = bucket.files.get 'foo'
bar = bucket.files.create :key => 'bar', :body => foo.body
foo.destroy
好消息是,如果您是从同一区域的 ec2 执行此操作,它可能会像在本地计算机上重命名文件一样快
【讨论】: