在S3存储桶内复制文件(Ruby)

9
我正在使用aws-sdk-ruby宝石,并且我想将文件/images/image_a.png复制到/profile.png,这些都在同一个存储桶中。
我该如何操作?
2个回答

9

以下内容来自文档,您需要使用copy_to进行操作。例如:

s3 = AWS::S3.new

# Upload a file and set server-side encryption.
bucket1 = s3.buckets[source_bucket]
bucket2 = s3.buckets[target_bucket]
obj1 = bucket1.objects[source_key]
obj2 = bucket2.objects[target_key]

obj1.copy_to(obj2)

如果目标在同一个存储桶中,您可以简单地执行以下操作:s3.buckets['bucket-name'].objects['source'].copy_to('target')。 - Trevor Rowe

3

使用aws-sdk-v2,您可以按照以下步骤完成此操作:

bucket = Aws::S3::Bucket.new('my_aws_bucket')
bucket.object("new_photo_uploads/logos/my_new_copied_photo.png")
aws_response = object.copy_from(bucket.object("my_original_photo.png"))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接