La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-support
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 for Java
Le seguenti best practice possono aiutarti a evitare problemi o problemi durante lo sviluppo di AWS applicazioni con. AWS SDK for Java Abbiamo organizzato le migliori pratiche per servizio.
S3
Evita ResetExceptions
Quando carichi oggetti utilizzando gli Amazon S3 stream (tramite un AmazonS3
client oTransferManager
), potresti riscontrare problemi di connettività di rete o di timeout. Per impostazione predefinita, i
AWS SDK for 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 ResetExceptionquando si verificano errori temporanei e i nuovi tentativi sono abilitati.
Procedura ottimale
Ti consigliamo di utilizzare stream che supportano le operazioni di mark e reset.
Il modo più affidabile per evitare a ResetExceptionè fornire dati utilizzando un File
Se lo stream non è un FileInputStreamsetReadLimit
metodo di. RequestClientOptions 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
Ad esempio, se la dimensione massima prevista di uno stream è 100.000 byte, imposta il limite di lettura su 100.001 (100.000 + 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.