

La AWS SDK per Java 1.x è stata raggiunta end-of-support il 31 dicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)a ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

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à.

# Migliori pratiche per AWS lo sviluppo con AWS SDK per Java
<a name="best-practices"></a>

Le seguenti best practice possono aiutarti a evitare problemi o problemi durante lo sviluppo di AWS applicazioni con. AWS SDK per Java Abbiamo organizzato le migliori pratiche per servizio.

## S3
<a name="s3"></a>

### Evita ResetExceptions
<a name="s3-avoid-resetexception"></a>

Quando carichi oggetti utilizzando gli Amazon S3 stream (tramite un `AmazonS3` client o`TransferManager`), potresti riscontrare problemi di connettività di rete o di timeout. Per impostazione predefinita, i AWS SDK per Java tentativi di riprovare i trasferimenti non sono riusciti contrassegnando il flusso di input prima dell'inizio di un trasferimento e quindi reimpostandolo prima di riprovare.

Se lo stream non supporta mark and reset, l'SDK genera un messaggio [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)quando si verificano errori temporanei e i nuovi tentativi sono abilitati.

 **Procedura consigliata** 

Ti consigliamo di utilizzare stream che supportano le operazioni di mark e reset.

Il modo più affidabile per evitare a [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)è fornire dati utilizzando un [File](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/File.html) or [FileInputStream](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/FileInputStream.html), che AWS SDK per Java possono gestire senza essere vincolati dai limiti di marcatura e ripristino.

Se lo stream non è un [FileInputStream](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/FileInputStream.html)formato ma supporta mark and reset, puoi impostare il limite dei mark utilizzando il `setReadLimit` metodo di. [RequestClientOptions](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/RequestClientOptions.html) Il suo valore predefinito è 128 KB. L'impostazione del valore del limite di lettura su *un byte maggiore della dimensione dello stream* eviterà in modo affidabile un. [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)

Ad esempio, se la dimensione massima prevista di uno stream è 100.000 byte, imposta il limite di lettura su 100.001 (100.000 \$1 1) byte. La marcatura e il ripristino funzioneranno sempre per 100.000 byte o meno. Tieni presente che ciò potrebbe far sì che alcuni stream inseriscano nel buffer quel numero di byte nella memoria.