Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser l'API client améliorée DynamoDB de manière asynchrone
Si votre application nécessite des appels asynchrones non bloquants à DynamoDB, vous pouvez utiliser le. DynamoDbEnhancedAsyncClient
-
Lorsque vous créez le
DynamoDbEnhancedAsyncClient
, vous devez fournir la version asynchrone du client standardDynamoDbAsyncClient
, comme indiqué dans l'extrait de code suivant.DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
-
Les méthodes qui renvoient un seul objet de données renvoient une partie
CompletableFuture
du résultat au lieu du seul résultat. Votre application peut ensuite effectuer d'autres travaux sans avoir à bloquer le résultat. L'extrait suivant montre la méthode asynchronegetItem()
.CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
-
Les méthodes qui renvoient des listes de résultats paginées renvoient un
SdkPublisher
au lieu d'un SdkIterable
que le synchrone DynamoDbEnhanceClient
renvoie pour les mêmes méthodes. Votre application peut ensuite abonner un gestionnaire à cet éditeur pour traiter les résultats de manière asynchrone sans avoir à les bloquer.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.
Pour un exemple plus complet d'utilisation du
SdkPublisher API
, consultez l'exemple présenté dans la section de ce guide consacrée à lascan()
méthode asynchrone.