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

AWS SDK for Java 사용

AWS SDK for Java에서는 Amazon S3 버킷 및 객체 작업용 API를 제공합니다. 객체 작업의 경우 단일 작업에서 객체를 업로드하기 위해 API를 제공하는 것에 추가로, SDK에서는 대용량 객체를 여러 부분으로 나누어 업로드하기 위해 API를 제공합니다(멀티파트 업로드 API를 사용한 객체 업로드 참조). API에서는 고위 수준 또는 하위 수준의 API를 사용하는 옵션을 제공합니다.

하위 수준 API

하위 수준 API는 버킷과 객체에 적용되는 작업의 생성, 업데이트, 삭제 등의 기본 Amazon S3 REST 작업에 적합합니다. 하위 수준 멀티파트 업로드 API를 사용하여 대용량 객체를 업로드하는 경우, 멀티파트 업로드를 일시 중지 및 재개하고, 조각 크기를 변경하고, 데이터 크기를 사전에 알 수 없을 때 업로드를 시작할 수 있도록 하는 등의 더 높은 제어 수준을 제공합니다. 이러한 요구 사항이 없는 경우 상위 수준 API를 사용하여 객체를 업로드합니다.

상위 수준 API

객체를 업로드할 경우, SDK에서는 TransferManager 클래스를 제공함으로써 더 높은 수준의 추상화를 제공합니다. 고위 수준 API는 더 간단한 API로, 단 몇 줄의 코드로 파일을 업로드하고 Amazon S3에 스트리밍할 수 있습니다. 앞서 하위 수준 API 단원에 설명된 대로 업로드를 제어해야 하는 경우가 아니라면 이 API를 사용하여 데이터를 업로드해야 합니다.

데이터 크기가 더 작은 경우 TransferManager API에서는 단일 작업으로 데이터를 업로드합니다. 그러나 데이터 크기가 특정 임계값에 도달하면 TransferManager는 멀티파트 업로드 API 사용으로 전환합니다. 가능한 경우 TransferManager에서는 여러 스레드를 사용하여 여러 부분을 동시에 업로드합니다. 한 부분의 업로드가 실패한 경우, API에서는 실패한 부분의 업로드를 최대 세 번까지 다시 시도합니다. 그러나 이는 TransferManagerConfiguration 클래스를 사용하여 구성 가능한 옵션입니다.

참고

데이터 소스로 스트림을 사용하는 경우, TransferManager 클래스는 동시 업로드를 수행하지 않습니다.

Java API 구성

AWS SDK for Java의 다음 패키지에서는 이러한 API를 제공합니다.

  • com.amazonaws.services.s3 - Amazon S3 버킷 및 객체 작업을 위한 구현 API를 제공합니다.

    예를 들어 버킷 생성, 객체 업로드, 객체 가져오기, 객체 삭제, 키 목록 생성을 위한 메서드를 제공합니다.

  • com.amazonaws.services.s3.transfer - 고위 수준 API 데이터 업로드를 제공합니다.

    고위 수준 API는 Amazon S3에 대해 한층 간소화된 객체 업로드를 제공하도록 설계되었습니다. 여기에는 TransferManager 클래스가 포함되어 있습니다. 이 클래스는 대용량 객체를 여러 부분으로 업로드할 때 특히 유용합니다. 또한 파트 업로드를 위한 최소 부분 크기와 멀티파트 업로드를 사용하는 경우의 임계값 바이트를 구성하는 데 사용할 수 있는 TransferManagerConfiguration 클래스도 포함되어 있습니다.

  • com.amazonaws.services.s3.model - 하위 수준 API 클래스를 제공하여 요청을 생성하고 응답을 처리합니다.

    예를 들어 객체 가져오기 요청을 형성하는 GetObjectRequest 클래스, 키 목록 작성 요청을 형성하는 ListObjectRequest 클래스, 멀티파트 업로드를 초기화할 경우의 InitiateMultipartUploadRequestInitiateMultipartUploadResult 클래스가 포함되어 있습니다.

AWS SDK for Java API에 대한 자세한 내용은 AWS SDK for Java API Reference를 참조하십시오.

Java 코드 예제 테스트

Java 코드 예제를 시작하는 가장 쉬운 방법은 최신 AWS Toolkit for Eclipse를 설치하는 것입니다. Java 개발 환경 및 AWS Toolkit for Eclipse 설치에 대한 자세한 내용은 AWS SDK for Java Developer GuideInstall a Java Development Environment 단원을 참조하십시오.

다음 작업은 이 가이드에 나와 있는 Java 코드 예제의 작성 및 테스트 과정을 안내합니다.

Java 코드 예제의 일반적인 프로세스

1

AWS SDK for Java Developer GuideSet Up your AWS Credentials for Use with the AWS SDK for Java에 설명된 대로 AWS 자격 증명 프로파일 파일을 만듭니다.

2

Eclipse에서 새 AWS Java 프로젝트를 만듭니다. 프로젝트는 AWS SDK for Java로 사전 구성되어 있습니다.

3

읽고 있는 섹션에서 코드를 프로젝트로 복사합니다.

4

필요한 데이터를 모두 제공하여 코드를 업데이트합니다. 예를 들어 파일을 업로드하는 경우 파일 경로 및 버킷 이름을 제공합니다.

5

코드를 실행합니다. AWS Management Console을 실행하여 객체가 생성되었는지 확인합니다. AWS Management Console에 대한 자세한 내용은 https://aws.amazon.com/console/을 참조하십시오.