我一直在尝试使用AWS Ruby sdk(v2)将S3对象从一个密钥克隆到另一个密钥。问题是,目标目的地不存在;它会引发我的错误
Aws::S3::Errors::NoSuchKey: The specified key does not exist.
我很想知道,AWS CLI同步方法如何在两个不同的S3存储桶之间或同一个存储桶之间复制和同步对象。
下面是我用来执行工作的代码片段。
s3_bucket = Aws::S3::Bucket.new(
name: [BUCKET_NAME],
region: [S3_BUCKET_REGION],
credentials: Aws::Credentials.new(
[ACCESS_KEY_ID],
[SECRET_ACCESS_KEY]
)
)
source_bucket_object = s3_bucket.object(s3_source_key)
target_bucket_object = s3_bucket.object(s3_target_key)
target_bucket_object.copy_from(source_bucket_object.key, acl: 'public-read')
我也尝试过以下方式,但它没有帮助;
target_bucket_object.copy_from(copy_source: "#{target_bucket_object.bucket_name}/#{source_bucket_object.key}")
请帮助我解决这个问题。另外,如果有另一种方法可以解决这个问题;建议。
提前致谢。
NISHANT