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
-
Wenn Sie den erstellen
DynamoDbEnhancedAsyncClient
, müssen Sie die asynchrone Version des Standardclients bereitstellenDynamoDbAsyncClient
, wie im folgenden Codeausschnitt dargestellt.DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
-
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 asynchronegetItem()
Methode.CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
-
Methoden, die paginierte Ergebnislisten zurückgeben, geben
SdkPublisher
statt 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 asynchronescan()
Methode beschrieben wird.