我想使用 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 http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#move_to-instance_method) 在这种情况下您可以使用它。从技术上讲,它仍然会在 S3 上复制和删除该文件,但您不需要手动复制和删除它,最重要的是,如果复制操作因某种原因失败,它不会删除该文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)