我想使用 Ruby SDK 重命名 s3 中的项目。我该怎么做?
我试过:
require 'aws-sdk'
s3 = AWS.config(
:region => 'region',
:access_key_id => 'key',
:secret_access_key => 'key'
)
b = AWS::S3::Bucket.new(client: s3, name: 'taxalli')
b.objects.each do |obj|
obj.rename_to('imports/files/' + line.split(' ').last.split('/').last)
end
但我在新的 SDK 中看不到任何移动或重命名的内容。
最佳答案
在 AWS-SDK 版本 2 中,现在有一个名为“move_to”(http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#move_to-instance_method)的方法,您可以在这种情况下使用它。从技术上讲,它仍然会在 S3 上复制和删除该文件,但您不需要手动复制和删除它,最重要的是,如果复制操作因某种原因失败,它不会删除该文件。
关于ruby-on-rails - 使用 Ruby 在 S3 中重命名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550527/