Gunakan DynamoDB Enhanced Client API secara asinkron - 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.

Gunakan DynamoDB Enhanced Client API secara asinkron

Jika aplikasi Anda memerlukan panggilan asinkron non-pemblokiran ke DynamoDB, Anda dapat menggunakan file. DynamoDbEnhancedAsyncClient Ini mirip dengan implementasi sinkron tetapi dengan perbedaan utama berikut:

  1. Ketika Anda membangunDynamoDbEnhancedAsyncClient, Anda harus menyediakan versi asinkron dari klien standar,DynamoDbAsyncClient, seperti yang ditunjukkan dalam cuplikan berikut.

    DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
  2. Metode yang mengembalikan objek data tunggal CompletableFuture mengembalikan hasil bukan hanya hasilnya. Aplikasi Anda kemudian dapat melakukan pekerjaan lain tanpa harus memblokir hasilnya. Cuplikan berikut menunjukkan metode getItem() asinkron.

    CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
  3. Metode yang mengembalikan daftar hasil paginasi mengembalikan sebuah SdkPublisheralih-alih SdkIterableyang dikembalikan sinkron DynamoDbEnhanceClient untuk metode yang sama. Aplikasi Anda kemudian dapat berlangganan handler ke penerbit itu untuk menangani hasil secara asinkron tanpa harus memblokir.

    PagePublisher<Customer> results = customerDynamoDbTable.query(r -> r.queryConditional(keyEqualTo(k -> k.partitionValue("Smith")))); results.subscribe(myCustomerResultsProcessor); // Perform other work and let the processor handle the results asynchronously.

    Untuk contoh yang lebih lengkap tentang bekerja denganSdkPublisher API, lihat contoh di bagian yang membahas scan() metode asinkron dari panduan ini.