

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perbedaan operasi streaming antara 1.x dan 2.x dari AWS SDK untuk Java
<a name="migration-streaming-ops"></a>

Operasi streaming, seperti Amazon S3 `getObject` dan `putObject` metode, mendukung non-pemblokiran I/O di SDK versi 2.x. Akibatnya, objek model permintaan dan respons tidak lagi mengambil `InputStream` sebagai parameter. Sebagai gantinya, untuk permintaan sinkron objek permintaan menerima`RequestBody`, yang merupakan aliran byte. Setara asinkron menerima sebuah. `AsyncRequestBody`

**Example `putObject`operasi Amazon S3 di 1.x**  

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

**Example `putObject`operasi Amazon S3 di 2.x**  

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

Objek respons streaming menerima a `ResponseTransformer` untuk klien sinkron dan untuk klien asinkron di V2. `AsyncResponseTransformer`

**Example `getObject`operasi Amazon S3 di 1.x**  

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

**Example `getObject`operasi Amazon S3 di 2.x**  

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

Dalam SDK for Java 2.x, operasi respons streaming memiliki metode untuk memuat `AsBytes` respons ke dalam memori dan menyederhanakan konversi tipe umum dalam memori.