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 menggunakan SDK untuk mengaktifkan akses ke bucket S3 di berbagai Wilayah.

Penyiapan

Support untuk akses lintas wilayah 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.20.111</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, SDK akan memulai permintaan ke Wilayah yang dikonfigurasi untuk klien.

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

Untuk mengoptimalkan permintaan future ke bucket yang sama, SDK menyimpan pemetaan Region ini di klien.

Pertimbangan-pertimbangan

Saat Anda mengaktifkan akses bucket lintas wilayah, ketahuilah bahwa panggilan API 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.