我已经在S3存储桶名称休斯顿中创建了一个名为 Backup 的文件夹。我还有另一个文件夹名称 Logs ,在其中可以查看所有应用程序日志。 日志文件夹中可能包含多个文件和子文件夹。我想将所有文件和子文件夹从 Logs 文件夹复制到 Backup 文件夹。
我正在使用Ruby AWS sdk。
答案 0 :(得分:0)
没有Amazon S3 API调用来复制文件夹。
您需要:
CopyObject()
将对象复制到另一个位置来自Copy an Object Using the AWS SDK for Ruby - Amazon Simple Storage Service:
require 'aws-sdk-s3'
source_bucket_name = '*** Provide bucket name ***'
target_bucket_name = '*** Provide bucket name ***'
source_key = '*** Provide source key ***'
target_key = '*** Provide target key ***'
begin
s3 = Aws::S3::Client.new(region: 'us-west-2')
s3.copy_object(bucket: target_bucket_name, copy_source: source_bucket_name + '/' + source_key, key: target_key)
rescue StandardError => ex
puts 'Caught exception copying object ' + source_key + ' from bucket ' + source_bucket_name + ' to bucket ' + target_bucket_name + ' as ' + target_key + ':'
puts ex.message
end
puts 'Copied ' + source_key + ' from bucket ' + source_bucket_name + ' to bucket ' + target_bucket_name + ' as ' + target_key