

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Differenze nelle operazioni di streaming tra 1.x e 2.x del AWS SDK per Java
<a name="migration-streaming-ops"></a>

Le operazioni di streaming, come Amazon S3 `getObject` e `putObject` i metodi, supportano il non blocco I/O nella versione 2.x dell'SDK. Di conseguenza, gli oggetti del modello di richiesta e risposta non accettano più un `InputStream` parametro. Invece, per le richieste sincrone, l'oggetto di richiesta accetta`RequestBody`, che è un flusso di byte. L'equivalente asincrono accetta un. `AsyncRequestBody`

**Example del `putObject` funzionamento di Amazon S3 nella versione 1.x**  

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

**Example del `putObject` funzionamento di Amazon S3 nella versione 2.x**  

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

Un oggetto di risposta in streaming accetta un `ResponseTransformer` per i client sincroni e un `AsyncResponseTransformer` per i client asincroni nella V2.

**Example del `getObject` funzionamento di Amazon S3 nella versione 1.x**  

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

**Example del `getObject` funzionamento di Amazon S3 nella versione 2.x**  

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

Nell'SDK for Java 2.x, le operazioni di risposta in streaming dispongono di `AsBytes` un metodo per caricare la risposta in memoria e semplificare le conversioni di tipo comune in memoria.