Verwenden Sie die DynamoDB Enhanced Client API asynchron - AWS SDK for Java 2.x

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie die DynamoDB Enhanced Client API asynchron

Wenn Ihre Anwendung nicht blockierende, asynchrone Aufrufe von DynamoDB erfordert, können Sie den verwenden. DynamoDbEnhancedAsyncClient Sie ähnelt der synchronen Implementierung, weist jedoch die folgenden wesentlichen Unterschiede auf:

  1. Wenn Sie den erstellenDynamoDbEnhancedAsyncClient, müssen Sie die asynchrone Version des Standardclients bereitstellenDynamoDbAsyncClient, wie im folgenden Codeausschnitt dargestellt.

    DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
  2. Methoden, die ein einzelnes Datenobjekt zurückgeben, geben nicht nur das Ergebnis zurück. CompletableFuture Ihre Anwendung kann dann andere Aufgaben ausführen, ohne das Ergebnis blockieren zu müssen. Der folgende Ausschnitt zeigt die asynchrone getItem() Methode.

    CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
  3. Methoden, die paginierte Ergebnislisten zurückgeben, geben SdkPublisherstatt eines zurück SdkIterable, das die synchrone Methode für dieselben Methoden DynamoDbEnhanceClient zurückgibt. Ihre Anwendung kann dann einen Handler für diesen Herausgeber abonnieren, um die Ergebnisse asynchron zu verarbeiten, ohne sie blockieren zu müssen.

    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.

    Ein vollständigeres Beispiel für die Arbeit mit dem SdkPublisher API finden Sie in dem Beispiel in dem Abschnitt, in dem die asynchrone scan() Methode beschrieben wird.