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

AWS SDK for Java를 사용하여 객체 복사

다음 작업은 Java 클래스를 사용하여 Amazon S3에서 객체를 복사하는 방법을 보여줍니다.

객체 복사

1

AmazonS3Client 클래스의 인스턴스를 만듭니다.

2

AmazonS3Client.copyObject 메서드 중 하나를 실행합니다. 원본 버킷 이름, 원본 키 이름, 대상 버킷 이름, 대상 키 등의 요청 정보를 제공해야 합니다. CopyObjectRequest 클래스의 인스턴스를 만들어 이 정보를 제공하거나, 필요할 경우 AmazonS3Client.copyObject 메서드를 사용하여 이 정보를 직접 제공할 수도 있습니다.

다음은 위에서 설명한 작업을 실행하는 Java 코드 예제입니다.

Copy
AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider()); s3client.copyObject(sourceBucketName, sourceKey, destinationBucketName, destinationKey);

다음 Java 코드 예제는 객체를 복사합니다. 복사된 객체는 동일한 원본 버킷에 저장되지만 키는 다릅니다. 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Java 코드 예제 테스트를 참조하십시오.

Copy
import java.io.IOException; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.CopyObjectRequest; public class CopyObjectSingleOperation { private static String bucketName = "*** Provide bucket name ***"; private static String key = "*** Provide key *** "; private static String destinationKey = "*** Provide dest. key ***"; public static void main(String[] args) throws IOException { AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider()); try { // Copying object CopyObjectRequest copyObjRequest = new CopyObjectRequest( bucketName, key, bucketName, destinationKey); System.out.println("Copying object."); s3client.copyObject(copyObjRequest); } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, " + "which means your request made it " + "to Amazon S3, but was rejected with an error " + "response for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("Caught an AmazonClientException, " + "which means the client encountered " + "an internal error while trying to " + " communicate with S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } } }