DynamoDB Local使用(二)
Example Gradle Java project for using AWS DynamoDB for local testing
参照 DynamoDB (下载版本) 和 Apache Maven
资源 GitHub
环境
AWS SDK for Java 2.4.14
Spring Boot 2.1.3.RELEASE
Spring Boot Initializer 新建工程
参照 Spring Initializr Java Support
依赖
添加
dependencies {
compile 'software.amazon.awssdk:dynamodb'
............
............
}
dependencyManagement {
imports {
// AWS SDK for Java 1.X
//mavenBom 'com.amazonaws:aws-java-sdk-bom:1.11.97'
// AWS SDK for Java 2.X
mavenBom 'software.amazon.awssdk:bom:2.4.14'
}
}
基本用法
DynamoDbClient的客户端生成
@Bean
public DynamoDbClient amazonDynamoDBClient() throws URISyntaxException {
log.info("amazonDynamoDBClient Start.");
DynamoDbClient client = null;
log.info("amazonDynamoDBClient.getEndpoint:{};",awsDynamodbConfig.getEndpoint());
if(!awsDynamodbConfig.getEndpoint().isEmpty()) {
URI uri = new URI(awsDynamodbConfig.getEndpoint());
log.info("URI:{}",uri);
client = DynamoDbClient.builder()
.credentialsProvider(StaticCredentialsProvider.create(
AwsBasicCredentials.create("test","test")))
.region(Region.of(awsCommonConfig.getRegion()))
.endpointOverride(new URI(awsDynamodbConfig.getEndpoint()))
.build();
} else {
client = DynamoDbClient.builder()
.region(Region.of(awsCommonConfig.getRegion()))
.build();
}
return client;
}
通过客户端请求各API
ListTablesResponse response = dynamoDBClient.listTables(ListTablesRequest.builder().limit(5).build());
names = response.tableNames();
测试
- 参照 DynamoDB Local使用(一)
启动本地DynamoDB服务器 - 做成上面的开发工程
通过 localhost:9999 访问,admin / 123