

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

# 의 1.x와 2.x 간의 스트리밍 작업 차이 AWS SDK for Java
<a name="migration-streaming-ops"></a>

Amazon S3 `getObject` 및 `putObject` 메서드 등의 스트리밍 작업은 SDK 버전 2.x에서 비차단 I/O를 지원합니다. 따라서 요청 및 응답 모델 객체는 더 이상 `InputStream`을 파라미터로 사용하지 않습니다. 대신 동기식 요청의 경우 요청 객체가 `RequestBody`(바이트 스트림)를 허용합니다. 동등한 비동기식 요청은 `AsyncRequestBody`를 허용합니다.

**Example 1.x에서의 아마존 S3 `putObject` 작업**  

```
s3client.putObject(BUCKET, KEY, new File(file_path));
```

**Example 2.x에서의 Amazon S3 `putObject` 작업**  

```
s3client.putObject(PutObjectRequest.builder()
                                 .bucket(BUCKET)
                                 .key(KEY)
                                 .build(),
                 RequestBody.of(Paths.get("myfile.in")));
```

스트리밍 응답 객체는 V2에서 동기식 클라이언트의 경우 `ResponseTransformer`, 비동기식 클라이언트의 경우 `AsyncResponseTransformer`를 허용합니다.

**Example 1.x에서의 아마존 S3 `getObject` 작업**  

```
S3Object o = s3.getObject(bucket, key);
S3ObjectInputStream s3is = o.getObjectContent();
FileOutputStream fos = new FileOutputStream(new File(key));
```

**Example 2.x에서의 Amazon S3 `getObject` 작업**  

```
s3client.getObject(GetObjectRequest.builder().bucket(bucket).key(key).build(),
		ResponseTransformer.toFile(Paths.get("key")));
```

SDK for Java 2.x에서 스트리밍 응답 작업에는 응답을 메모리에 로드하고 인 메모리의 일반적인 유형 변환을 간소화하는 `AsBytes` 메서드가 포함됩니다.