Akses Lintas Wilayah untuk Amazon S3 - AWS SDK for Java 2.x

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

Akses Lintas Wilayah untuk Amazon S3

Saat Anda bekerja dengan bucket Amazon Simple Storage Service (Amazon S3), Anda biasanya tahu Wilayah AWS bucket tersebut. Wilayah tempat Anda bekerja ditentukan saat Anda membuat klien S3.

Namun, terkadang Anda mungkin perlu bekerja dengan bucket tertentu, tetapi Anda tidak tahu apakah itu terletak di Wilayah yang sama yang ditetapkan untuk klien S3.

Alih-alih melakukan lebih banyak panggilan untuk menentukan Wilayah bucket, Anda dapat menggunakannya SDK untuk mengaktifkan akses ke bucket S3 di berbagai Wilayah.

Pengaturan

Support untuk akses lintas wilayah menjadi tersedia dengan 2.20.111 versi. SDK Gunakan versi ini atau yang lebih baru di file build Maven Anda untuk s3 ketergantungan seperti yang ditunjukkan pada cuplikan berikut.

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>2.27.21</version> </dependency>

Selanjutnya, saat Anda membuat klien S3, aktifkan akses lintas wilayah seperti yang ditunjukkan pada cuplikan. Secara default, akses tidak diaktifkan.

S3AsyncClient client = S3AsyncClient.builder() .crossRegionAccessEnabled(true) .build();

Bagaimana SDK menyediakan akses Lintas wilayah

Saat Anda mereferensikan bucket yang ada dalam permintaan, seperti saat Anda menggunakan putObject metode, permintaan akan SDK memulai permintaan ke Wilayah yang dikonfigurasi untuk klien.

Jika bucket tidak ada di Region tertentu, respons kesalahan menyertakan Region sebenarnya tempat bucket berada. SDKKemudian menggunakan Wilayah yang benar dalam permintaan kedua.

Untuk mengoptimalkan permintaan future ke bucket yang sama, SDK cache pemetaan Wilayah ini di klien.

Pertimbangan

Saat Anda mengaktifkan akses bucket lintas wilayah, ketahuilah bahwa API panggilan pertama dapat meningkatkan latensi jika bucket tidak berada di Region yang dikonfigurasi klien. Namun, panggilan berikutnya mendapat manfaat dari informasi Wilayah yang di-cache, menghasilkan peningkatan kinerja.

Saat Anda mengaktifkan akses lintas wilayah, akses ke bucket tidak terpengaruh. Pengguna harus diberi wewenang untuk mengakses bucket di Wilayah mana pun tempat tinggalnya.