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
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 accettaRequestBody, che è un flusso di byte. L'equivalente asincrono accetta un. AsyncRequestBody
Esempio del putObject funzionamento di Amazon S3 nella versione 1.x
s3client.putObject(BUCKET, KEY, new File(file_path));
Esempio 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.
Esempio 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));
Esempio 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.