

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon S3와 작업
<a name="examples-s3"></a>

이 섹션에서는 AWS SDK for Java 2.x를 사용하여 Amazon S3로 작업하는 경우의 배경 정보를 제공합니다. 이 섹션에서는 이 가이드의 *코드 예제* 섹션에 제시된 [Amazon S3 Java v2 예제](java_s3_code_examples.md)를 보완합니다.

## 의 S3 클라이언트 AWS SDK for Java 2.x
<a name="s3-clients"></a>

는 다양한 유형의 S3 클라이언트를 AWS SDK for Java 2.x 제공합니다. 다음 표는 차이점을 보여주며 이를 통해 사용 사례에 가장 적합한 것을 결정할 수 있습니다.


**Amazon S3 클라이언트의 다양한 종류**  

| S3 클라이언트 | 간단한 설명 | 사용해야 하는 경우 | 제한 및 단점 | 
| --- | --- | --- | --- | 
| **AWS CRT 기반 S3 클라이언트**<br />인터페이스: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Builder: [S3CrtAsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html) | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)[성능 S3 클라이언트: AWS CRT 기반 S3 클라이언트 사용](crt-based-s3-client.md)을(를) 참조하세요. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  | 
| **멀티파트가 *사용 설정된* Java 기반 S3 비동기식 클라이언트**<br />인터페이스: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Builder: [S3AsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClientBuilder.html) | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)[병렬 전송을 사용하도록 Java 기반 S3 비동기식 클라이언트 구성](s3-async-client-multipart.md)을(를) 참조하세요. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  |  AWS CRT 기반 S3 클라이언트보다 성능이 떨어집니다. | 
| **멀티파트가 *사용 설정되지 않은* Java 기반 S3 비동기식 클라이언트**<br />인터페이스: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Builder: [S3AsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClientBuilder.html) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  | 성능 최적화가 필요하지 않습니다. | 
| **Java 기반 S3 동기식 클라이언트**<br />인터페이스: [S3Client](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Client.html)<br />Builder: [S3ClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3ClientBuilder.html) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/sdk-for-java/latest/developer-guide/examples-s3.html)  | 성능 최적화가 필요하지 않습니다. | 

**참고**  
버전 2.18.x 이상에서는 엔드포인트 재정의를 포함할 때 [가상 호스팅 방식 주소 지정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access)을 AWS SDK for Java 2.x 사용합니다. 이는 버킷 이름이 유효한 DNS 레이블인 한 적용됩니다.  
`true`에서 [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3BaseClientBuilder.html#forcePathStyle(java.lang.Boolean](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3BaseClientBuilder.html#forcePathStyle(java.lang.Boolean) 메서드를 호출하여 클라이언트가 버킷에 경로 스타일 주소 지정을 사용하도록 강제합니다.  
다음 예제는 엔드포인트 재정의 및 경로 스타일 주소 지정을 사용하여 구성된 서비스 클라이언트를 보여줍니다.  

```
S3Client client = S3Client.builder()
                          .region(Region.US_WEST_2)
                          .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com"))
                          .forcePathStyle(true)
                          .build();
```

**Topics**
+ [SDK의 S3 클라이언트](#s3-clients)
+ [S3에 스트림 업로드](best-practices-s3-uploads.md)
+ [미리 서명된 URL](examples-s3-presign.md)
+ [교차 리전 액세스](s3-cross-region.md)
+ [체크섬을 통한 데이터 무결성 보호](s3-checksums.md)
+ [고성능 S3 클라이언트 사용](crt-based-s3-client.md)
+ [병렬 전송 지원 구성](s3-async-client-multipart.md)
+ [파일 및 디렉터리 전송](transfer-manager.md)
+ [S3 이벤트 알림](examples-s3-event-notifications.md)