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
-
Quando si crea il
DynamoDbEnhancedAsyncClient
, è necessario fornire la versione asincrona del client standardDynamoDbAsyncClient
, come mostrato nel frammento seguente.DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(dynamoDbAsyncClient) .build();
-
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 metodogetItem()
asincrono.CompletableFuture<Customer> result = customerDynamoDbTable.getItem(customer); // Perform other work here. return result.join(); // Now block and wait for the result.
-
I metodi che restituiscono elenchi di risultati impaginati restituiscono un valore
SdkPublisher
anziché un valore restituito dalla modalità sincrona per SdkIterable
gli 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 di
SdkPublisher API
, consultate l'esempio nella sezione che illustra il metodoscan()
asincrono di questa guida.