Amazon S3와 작업
이 섹션에서는 AWS SDK for Java 2.x를 사용하여 Amazon S3로 작업하는 경우의 배경 정보를 제공합니다. 이 섹션에서는 이 가이드의 코드 예제 섹션에 제시된 Amazon S3 Java v2 예제를 보완합니다.
AWS SDK for Java 2.x의 S3 클라이언트
AWS SDK for Java 2.x는 다양한 유형의 S3 클라이언트를 제공합니다. 다음 표는 차이점을 보여주며 이를 통해 사용 사례에 가장 적합한 것을 결정할 수 있습니다.
| S3 클라이언트 | 간단한 설명 | 사용해야 하는 경우 | 제한 및 단점 |
|---|---|---|---|
|
AWS CRT 기반 S3 클라이언트 인터페이스: S3AsyncClient Builder: S3CrtAsyncClientBuilder |
고성능 S3 클라이언트 사용: AWS CRT 기반 S3 클라이언트을(를) 참조하세요. |
|
|
|
멀티파트가 사용 설정된 Java 기반 S3 비동기식 클라이언트 인터페이스: S3AsyncClient Builder: S3AsyncClientBuilder |
병렬 전송을 사용하도록 Java 기반 S3 비동기식 클라이언트 구성을(를) 참조하세요. |
|
AWS CRT 기반 S3 클라이언트보다 성능이 떨어집니다. |
|
멀티파트가 사용 설정되지 않은 Java 기반 S3 비동기식 클라이언트 인터페이스: S3AsyncClient Builder: S3AsyncClientBuilder |
|
|
성능 최적화가 필요하지 않습니다. |
|
Java 기반 S3 동기식 클라이언트 인터페이스: S3Client Builder: S3ClientBuilder |
|
|
성능 최적화가 필요하지 않습니다. |
참고
버전 2.18.x 이후부터는 엔드포인트 재정의를 포함할 때 AWS SDK for Java 2.x에서 가상 호스트식 주소 지정을 사용합니다. 이는 버킷 이름이 유효한 DNS 레이블인 한 적용됩니다.
true에서 forcePathStyle
다음 예제는 엔드포인트 재정의 및 경로 스타일 주소 지정을 사용하여 구성된 서비스 클라이언트를 보여줍니다.
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();