Utiliser l'API client améliorée DynamoDB de manière asynchrone - AWS SDK for Java 2.x

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 Elle est similaire à l'implémentation synchrone, mais avec les principales différences suivantes :

  1. Lorsque vous créez leDynamoDbEnhancedAsyncClient, vous devez fournir la version asynchrone du client standardDynamoDbAsyncClient, comme indiqué dans l'extrait de code suivant.

    DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
  2. 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.
  3. Les méthodes qui renvoient des listes de résultats paginées renvoient un SdkPublisherau lieu d'un SdkIterableque 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 duSdkPublisher API, consultez l'exemple présenté dans la section de ce guide consacrée à la scan() méthode asynchrone.