Share the joy
1. dynamodb vs dynamodb-enhanced
1). software.amazon.awssdk, dynamodb
2). software.amazon.awssdk, dynamodb-enhanced, a high-level library. Can map class to DynamoDb tables.
Introducing enhanced DynamoDB client in the AWS SDK for Java v2
2. Client vs Table
DynamoDbClient/DynamoDbEnhancedClient is like databases access. Think you know the username/password to the database.
DynamoDbTable/DynamoDbAsyncTable is the table you will operate on.
AsyncClient could return CompletableFuture or Publisher(in reactive)
Below are some junk demo code.
// dynamodb DynamoDbAsyncClient dynamoDbAsyncClient = null; QueryRequest queryRequest = null; Flux.from(dynamoDbAsyncClient.queryPaginator(queryRequest)) .subscribe(); // dynamodb enhanced // sync DynamoDbEnhancedClient dynamoDbClient = null; DynamoDbTable dynamoDbTable = dynamoDbClient.table("tableName", TableSchema.class); PageIterable pageIterable = dynamoDbTable.query(SOME_QUERY); // return // async DynamoDbEnhancedAsyncClient dynamoDbEnhancedAsyncClient1 = null; DynamoDbAsyncTable dynamoDbAsyncTable = dynamoDbEnhancedAsyncClient1.table(null, null); PagePublisher<T> pagePublisher = dynamoDbAsyncTable.query(SOME_QUERY); Flux.from(pagePublisher).subscribe(p -> { System.out.println(); });