Membuat Klien Layanan - 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.

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 di API layanan. Misalnya, antarmuka layanan untuk DynamoDB bernama DbClient. AmazonDynamo Setiap antarmuka layanan memiliki pembangun klien yang sesuai yang dapat Anda gunakan untuk membangun implementasi antarmuka layanan. Kelas pembangun klien bernama AmazonDynamoDB ClientBuilder. DynamoDB

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 pembangun, Anda dapat menyesuaikan properti klien dengan menggunakan banyak penyetel fasih di API pembangun. Misalnya, Anda dapat mengatur wilayah kustom dan penyedia kredensyal 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 menyetel 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 kredensyal atau wilayah tidak dapat ditentukan dari lingkungan tempat aplikasi berjalan, panggilan ke defaultClient gagal. Lihat Bekerja dengan AWS Kredensyal dan Wilayah AWS Seleksi untuk informasi selengkapnya tentang bagaimana kredensyal dan wilayah ditentukan.

Untuk membuat klien layanan default

AmazonDynamoDB ddb = AmazonDynamoDBClientBuilder.defaultClient();

Siklus Hidup Klien

Klien layanan di SDK aman untuk benang dan, untuk kinerja terbaik, Anda harus memperlakukannya sebagai objek yang 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