Sto usando gem aws-sdk-ruby e voglio copiare un file /images/image_a.png in /profile.png tutti risiedono nello stesso bucket.Copia di un file all'interno di un bucket S3 (ruby)
Come posso farlo?
Sto usando gem aws-sdk-ruby e voglio copiare un file /images/image_a.png in /profile.png tutti risiedono nello stesso bucket.Copia di un file all'interno di un bucket S3 (ruby)
Come posso farlo?
Estratto dallo documentation, sarà necessario utilizzare copy_to
. Per esempio:
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)
a che fare questo con AWS-sdk-v2 si possono fare le seguenti:
bucket = Aws::S3::Bucket.new('my_aws_bucket')
new_object = bucket.object("new_photo_uploads/logos/my_new_copied_photo.png")
aws_response = new_object.copy_from(bucket.object("my_original_photo.png"))
Se l'obiettivo è lo stesso secchio, si può semplicemente fare: s3.buckets [' secchio-name ']. oggetti [' fonte ']. copy_to (' target ') –