메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

Ruby용 AWS SDK를 사용하여 객체 복사

다음 작업은 Ruby 클래스를 사용하여 한 버킷에서 다른 버킷으로 또는 동일한 버킷으로 Amazon S3의 객체를 복사하는 방법을 보여줍니다.

객체 복사

1

AWS 자격 증명을 제공하여 AWS::S3 클래스의 인스턴스를 만듭니다.

2

AWS::S3::S3Object#copy_to 또는 AWS::S3::S3Object#copy_from 메서드 중 하나를 실행합니다. 원본 버킷 이름, 원본 키 이름, 대상 버킷 이름, 대상 키 등의 요청 정보를 제공해야 합니다.

다음 Ruby 코드 예제는 #copy_to 메서드를 사용하여 앞서 설명한, 한 버킷에서 다른 버킷으로 객체를 복사하는 작업을 수행하는 방법을 보여줍니다.

Copy
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)

다음 Ruby 스크립트 예제는 #copy_from 메서드를 사용하여 객체의 복사본을 만듭니다. 복사된 객체는 동일한 원본 버킷에 저장되지만 키는 다릅니다. 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Ruby용 AWS SDK - 버전 2 사용을 참조하십시오.

Copy
#!/usr/bin/env ruby require 'rubygems' require 'aws-sdk' bucket_name = '*** Provide bucket name ***' source_key = '*** Provide source key ***' target_key = '*** Provide target key ***' # Get an instance of the S3 interface. s3 = AWS::S3.new # Copy the object. s3.buckets[bucket_name].objects[target_key].copy_from(source_key) puts "Copying file #{source_key} to #{target_key}."