AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-support
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Wilayah AWS Seleksi
Wilayah memungkinkan Anda mengakses AWS layanan yang secara fisik berada di wilayah geografis tertentu. Ini dapat berguna baik untuk redundansi dan untuk menjaga data dan aplikasi Anda berjalan dekat dengan tempat Anda dan pengguna Anda akan mengaksesnya.
Memeriksa Ketersediaan Layanan di Wilayah
Untuk melihat apakah tertentu Layanan AWS tersedia di suatu wilayah, gunakan isServiceSupported
metode di wilayah yang ingin Anda gunakan.
Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);
Lihat dokumentasi kelas Regions untuk wilayah yang dapat Anda tentukan, dan gunakan awalan titik akhir layanan untuk melakukan kueri. Awalan endpoint setiap layanan didefinisikan dalam antarmuka layanan. Misalnya, awalan DynamoDB endpoint didefinisikan dalam AmazonDynamo DB.
Memilih Wilayah
Dimulai dengan versi 1.4 dari AWS SDK for Java, Anda dapat menentukan nama wilayah dan SDK akan secara otomatis memilih titik akhir yang sesuai untuk Anda. Untuk memilih endpoint sendiri, lihat Memilih Endpoint Spesifik.
Untuk menetapkan wilayah secara eksplisit, sebaiknya gunakan enum Regions. Ini adalah enumerasi dari semua wilayah yang tersedia untuk umum. Untuk membuat klien dengan wilayah dari enum, gunakan kode berikut.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();
Jika wilayah yang Anda coba gunakan tidak ada di Regions
enum, Anda dapat mengatur wilayah menggunakan string yang mewakili nama wilayah.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion("{region_api_default}") .build();
catatan
Setelah Anda membangun klien dengan pembangun, itu tidak dapat diubah dan wilayah tidak dapat diubah. Jika Anda bekerja dengan beberapa Wilayah AWS untuk layanan yang sama, Anda harus membuat beberapa klien—satu per wilayah.
Memilih Endpoint Tertentu
Setiap AWS klien dapat dikonfigurasi untuk menggunakan titik akhir tertentu dalam suatu wilayah dengan memanggil withEndpointConfiguration
metode saat membuat klien.
Misalnya, untuk mengkonfigurasi Amazon S3 klien untuk menggunakan Wilayah Eropa (Irlandia), gunakan kode berikut.
AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withEndpointConfiguration(new EndpointConfiguration( "https://s3.eu-west-1.amazonaws.com", "eu-west-1")) .withCredentials(CREDENTIALS_PROVIDER) .build();
Lihat Wilayah dan Titik Akhir untuk daftar wilayah saat ini dan titik akhir yang sesuai untuk semua AWS layanan.
Secara Otomatis Menentukan Wilayah dari Lingkungan
penting
Bagian ini hanya berlaku ketika menggunakan pembuat klien untuk mengakses AWS layanan. AWS klien yang dibuat dengan menggunakan konstruktor klien tidak akan secara otomatis menentukan wilayah dari lingkungan dan akan, sebaliknya, menggunakan SDK wilayah default (USEast1).
Saat menjalankan on Amazon EC2 atau Lambda, Anda mungkin ingin mengonfigurasi klien untuk menggunakan wilayah yang sama dengan tempat kode Anda berjalan. Ini memisahkan kode Anda dari lingkungan tempat ia berjalan dan membuatnya lebih mudah untuk menerapkan aplikasi Anda ke beberapa wilayah untuk latensi atau redundansi yang lebih rendah.
Anda harus menggunakan pembuat klien agar secara SDK otomatis mendeteksi wilayah tempat kode Anda berjalan.
Untuk menggunakan rantai penyedia kredensial/wilayah default untuk menentukan wilayah dari lingkungan, gunakan metode pembuat klien. defaultClient
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
Ini sama dengan menggunakan standard
diikuti olehbuild
.
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();
Jika Anda tidak secara eksplisit menyetel wilayah menggunakan withRegion
metode, akan SDK berkonsultasi dengan rantai penyedia wilayah default untuk mencoba dan menentukan wilayah yang akan digunakan.
Rantai Penyedia Wilayah Default
Berikut ini adalah proses pencarian wilayah:
-
Wilayah eksplisit apa pun yang disetel dengan menggunakan
withRegion
atausetRegion
pada pembangun itu sendiri lebih diutamakan daripada yang lain. -
Variabel
AWS_REGION
lingkungan diperiksa. Jika disetel, wilayah itu digunakan untuk mengkonfigurasi klien.catatan
Variabel lingkungan ini diatur oleh Lambda wadah.
-
SDKMemeriksa file konfigurasi AWS bersama (biasanya terletak di
~/.aws/config
). Jika properti wilayah hadir, SDK menggunakannya.-
Variabel
AWS_CONFIG_FILE
lingkungan dapat digunakan untuk menyesuaikan lokasi file konfigurasi bersama. -
Variabel
AWS_PROFILE
lingkungan atau propertiaws.profile
sistem dapat digunakan untuk menyesuaikan profil yang dimuat oleh fileSDK.
-
-
SDKUpaya untuk menggunakan layanan metadata Amazon EC2 instance untuk menentukan wilayah instance yang sedang berjalan Amazon EC2 .
-
Jika SDK masih belum menemukan wilayah pada saat ini, pembuatan klien gagal dengan pengecualian.
Saat mengembangkan AWS aplikasi, pendekatan umum adalah dengan menggunakan file konfigurasi bersama (dijelaskan dalam Menggunakan Rantai Penyedia Kredenal Default) untuk mengatur wilayah untuk pengembangan lokal, dan mengandalkan rantai penyedia wilayah default untuk menentukan wilayah saat berjalan pada AWS infrastruktur. Ini sangat menyederhanakan pembuatan klien dan membuat aplikasi Anda tetap portabel.