Praktik Terbaik untuk AWS Pengembangan dengan AWS SDK for Java - AWS SDK for Java 1.x

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for Java (v1). Kami menyarankan Anda bermigrasi ke AWS SDK for Java v2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

Praktik Terbaik untuk AWS Pengembangan dengan AWS SDK for Java

Praktik terbaik berikut dapat membantu Anda menghindari masalah atau masalah saat Anda mengembangkan AWS aplikasi dengan aplikasi AWS SDK for Java. Kami telah mengatur praktik terbaik berdasarkan layanan.

S3

Hindari ResetExceptions

Saat Anda mengunggah objek Amazon S3 dengan menggunakan aliran (baik melalui AmazonS3 klien atauTransferManager), Anda mungkin mengalami masalah konektivitas jaringan atau batas waktu. Secara default, AWS SDK for Java upaya untuk mencoba kembali transfer yang gagal dengan menandai aliran input sebelum dimulainya transfer dan kemudian mengatur ulang sebelum mencoba lagi.

Jika aliran tidak mendukung tanda dan reset, SDK akan melempar a ResetExceptionketika ada kegagalan sementara dan percobaan ulang diaktifkan.

Praktik Terbaik

Kami menyarankan Anda menggunakan aliran yang mendukung menandai dan mengatur ulang operasi.

Cara yang paling dapat diandalkan untuk menghindari a ResetExceptionadalah dengan menyediakan data dengan menggunakan File atau FileInputStream, yang AWS SDK for Java dapat ditangani tanpa dibatasi oleh batas tanda dan reset.

Jika aliran bukan FileInputStreamtetapi mendukung tanda dan reset, Anda dapat mengatur batas tanda dengan menggunakan setReadLimit metode RequestClientOptions. Nilai defaultnya adalah 128 KB. Menyetel nilai batas baca ke satu byte lebih besar dari ukuran aliran akan secara andal menghindari a ResetException.

Misalnya, jika ukuran maksimum yang diharapkan dari aliran adalah 100.000 byte, atur batas baca menjadi 100,001 (100.000 + 1) byte. Tanda dan reset akan selalu bekerja untuk 100.000 byte atau kurang. Ketahuilah bahwa ini dapat menyebabkan beberapa aliran menyangga jumlah byte itu ke dalam memori.