【发布时间】:2019-08-09 15:22:27
【问题描述】:
我正在开发基于 Spring Boot 微服务 REST 的应用程序,backedn 数据库目前是本地 Dynamodb 数据库。我可以使用 Postman 对本地运行的应用程序进行 REST 调用,并且可以使用本地 dynamodb 数据库执行 CRUD 操作。 现在我想对配置进行更改,以便每当我在本地运行的应用程序上进行类似的 CRUD 操作时,数据应该保存/更新到在 AWS 而不是本地运行的实际 DynamoDB 上。基本上,我想将应用程序指向远程 DynamoDB 端点。可能吗?是否有任何示例参考指南可用于进行此类配置更改?
目前,这是我的配置类和属性文件:-
package com.user.profile.jpa;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
import com.amazonaws.util.StringUtils;
import org.socialsignin.spring.data.dynamodb.repository.config.EnableDynamoDBRepositories;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
//@Profile("dev")
@Configuration
@EnableDynamoDBRepositories(basePackages = "com.user.profile.jpa")
public class DynamoDbConfig {
@Value("${amazon.dynamodb.endpoint}")
private String amazonDynamoDBEndpoint;
@Value("${amazon.dynamodb.region}")
private String amazonDynamoDBRegion;
@Value("${amazon.aws.accesskey}")
private String accessKey;
@Value("${amazon.aws.secretkey}")
private String secretKey;
@Bean
public AmazonDynamoDB amazonDynamoDB() {
AmazonDynamoDB dynamoDB = new AmazonDynamoDBClient(amazonAWSCredentials());
if (!StringUtils.isNullOrEmpty(amazonDynamoDBEndpoint)) {
dynamoDB.setEndpoint(amazonDynamoDBEndpoint);
}
return dynamoDB;
}
@Bean
public AWSCredentials amazonAWSCredentials() {
return new BasicAWSCredentials(accessKey, secretKey);
}
}
amazon.dynamodb.endpoint=http://localhost:8000/
amazon.aws.accesskey=JGDSGJSGS8729224
amazon.aws.secretkey=HJKAHDD83ERWRnHAHDJASD8782rlGb0F1k2Ijg
amazon.dynamodb.region="us-east-1"
spring.main.allow-bean-definition-overriding=true
spring.profiles.active=dev
server.port=8090
请帮忙。谢谢
【问题讨论】:
标签: java amazon-web-services spring-boot amazon-dynamodb microservices