Membuat Klien Layanan - AWS SDK for Java 1.x

AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-supportpada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.xuntuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

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

Membuat Klien Layanan

Untuk membuat permintaan Amazon Web Services, pertama-tama Anda membuat objek klien layanan. Cara yang disarankan adalah dengan menggunakan pembuat klien layanan.

Masing-masing Layanan AWS memiliki antarmuka layanan dengan metode untuk setiap tindakan dalam layananAPI. Misalnya, antarmuka layanan untuk DynamoDB diberi nama. AmazonDynamoDBClient Setiap antarmuka layanan memiliki pembangun klien yang sesuai yang dapat Anda gunakan untuk membangun implementasi antarmuka layanan. Kelas pembangun klien untuk DynamoDB diberi nama AmazonDynamoDBClientBuilder.

Memperoleh Client Builder

Untuk mendapatkan instance dari pembuat klien, gunakan metode pabrik statisstandard, seperti yang ditunjukkan pada contoh berikut.

AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard();

Setelah Anda memiliki builder, Anda dapat menyesuaikan properti klien dengan menggunakan banyak setter fasih di builder. API Misalnya, Anda dapat mengatur wilayah kustom dan penyedia kredensional kustom, sebagai berikut.

AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();
catatan

withXXXMetode fasih mengembalikan builder objek sehingga Anda dapat menghubungkan panggilan metode untuk kenyamanan dan untuk kode yang lebih mudah dibaca. Setelah Anda mengkonfigurasi properti yang Anda inginkan, Anda dapat memanggil build metode untuk membuat klien. Setelah klien dibuat, itu tidak dapat diubah dan panggilan apa pun ke setRegion atau setEndpoint akan gagal.

Pembangun dapat membuat beberapa klien dengan konfigurasi yang sama. Saat Anda menulis aplikasi, ketahuilah bahwa pembuatnya bisa berubah dan tidak aman untuk utas.

Kode berikut menggunakan builder sebagai pabrik untuk instance klien.

public class DynamoDBClientFactory { private final AmazonDynamoDBClientBuilder builder = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")); public AmazonDynamoDB createClient() { return builder.build(); } }

Pembangun juga mengekspos setter fasih untuk ClientConfigurationdan RequestMetricCollector, dan daftar kustom 2. RequestHandler

Berikut ini adalah contoh lengkap yang mengesampingkan semua properti yang dapat dikonfigurasi.

AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .withClientConfiguration(new ClientConfiguration().withRequestTimeout(5000)) .withMetricsCollector(new MyCustomMetricsCollector()) .withRequestHandlers(new MyCustomRequestHandler(), new MyOtherCustomRequestHandler) .build();

Membuat Klien Async

Ini AWS SDK for Java memiliki klien asinkron (atau asinkron) untuk setiap layanan (kecuali untuk Amazon S3), dan pembuat klien asinkron yang sesuai untuk setiap layanan.

Untuk membuat klien DynamoDB async dengan default ExecutorService

AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(new ProfileCredentialsProvider("myProfile")) .build();

Selain opsi konfigurasi yang didukung oleh pembuat klien sinkron (atau sinkronisasi), klien asinkron memungkinkan Anda mengatur kustom ExecutorFactoryuntuk mengubah yang digunakan klien ExecutorService asinkron. ExecutorFactoryadalah antarmuka fungsional, sehingga berinteraksi dengan ekspresi lambda Java 8 dan referensi metode.

Untuk membuat klien async dengan eksekutor kustom

AmazonDynamoDBAsync ddbAsync = AmazonDynamoDBAsyncClientBuilder.standard() .withExecutorFactory(() -> Executors.newFixedThreadPool(10)) .build();

Menggunakan DefaultClient

Baik pembuat klien sinkronisasi dan asinkron memiliki metode pabrik lain bernama. defaultClient Metode ini membuat klien layanan dengan konfigurasi default, menggunakan rantai penyedia default untuk memuat kredensi dan. Wilayah AWS Jika kredensional atau wilayah tidak dapat ditentukan dari lingkungan tempat aplikasi berjalan, panggilan ke defaultClient gagal. Lihat Bekerja dengan AWS Kredensil dan Wilayah AWS Seleksi untuk informasi selengkapnya tentang bagaimana kredensil dan wilayah ditentukan.

Untuk membuat klien layanan default

AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient();

Siklus Hidup Klien

Klien layanan di SDK dalamnya aman untuk benang dan, untuk kinerja terbaik, Anda harus memperlakukan mereka sebagai objek berumur panjang. Setiap klien memiliki sumber daya kolam koneksi sendiri. Secara eksplisit menutup klien ketika mereka tidak lagi diperlukan untuk menghindari kebocoran sumber daya.

Untuk secara eksplisit mematikan klien, panggil metode. shutdown Setelah meneleponshutdown, semua sumber daya klien dilepaskan dan klien tidak dapat digunakan.

Untuk mematikan klien

AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient(); ddb.shutdown(); // Client is now unusable