11

我有一个 Rails 3.2 应用程序。使用雾在 S3 中存储文件。

我想编写一个脚本来重命名所有已上传的文件。我似乎在这方面找不到任何雾文档。

有雾这可能吗?我需要另一个宝石吗?

4

2 回答 2

13

这篇文章中提到的复制怎么样?参看。雾的请求来源雾的模型来源

你应该能够做到:

storage.copy_object('old_bucket', 'old_filename', 'new_bucket', 'new_filename')

或者

file.copy('new_bucket', 'new_filename')

但是,在成功复制后销毁原始文件仍然是必要的。

于 2013-07-29T16:35:26.370 回答
8

坏消息是你需要做一个 get/create/destroy

foo = bucket.files.get 'foo'
bar = bucket.files.create :key => 'bar', :body => foo.body
foo.destroy

好消息是,如果您在同一区域从 ec2 执行此操作,它可能会像在本地计算机上重命名文件一样快

于 2012-12-21T07:56:33.343 回答