Usa l'API DynamoDB Enhanced Client in modo asincrono - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa l'API DynamoDB Enhanced Client in modo asincrono

Se l'applicazione richiede chiamate asincrone non bloccanti a DynamoDB, è possibile utilizzare il. DynamoDbEnhancedAsyncClient È simile all'implementazione sincrona ma con le seguenti differenze chiave:

  1. Quando si crea ilDynamoDbEnhancedAsyncClient, è necessario fornire la versione asincrona del client standardDynamoDbAsyncClient, come mostrato nel frammento seguente.

    DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
  2. I metodi che restituiscono un singolo oggetto di dati restituiscono un CompletableFuture risultato anziché solo il risultato. L'applicazione può quindi eseguire altre operazioni senza dover bloccare il risultato. Il frammento seguente mostra il metodo getItem() asincrono.

    CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
  3. I metodi che restituiscono elenchi di risultati impaginati restituiscono un valore SdkPublisheranziché un valore restituito dalla modalità sincrona per SdkIterablegli stessi metodi. DynamoDbEnhanceClient L'applicazione può quindi sottoscrivere un gestore a tale editore per gestire i risultati in modo asincrono senza dover bloccare.

    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.

    Per un esempio più completo di utilizzo diSdkPublisher API, consultate l'esempio nella sezione che illustra il metodo scan() asincrono di questa guida.