Я работаю над REST-приложением Spring Boot, и база данных backedn в настоящее время является локальной базой данных Dynamodb.Я могу делать вызовы REST, используя Postman, для моего приложения, работающего локально, и могу выполнять CRUD-операции с локальной базой данных DynamodB.Теперь я хочу внести изменения в конфигурацию, чтобы при выполнении аналогичных операций CRUD для моего приложения, работающего локально, данные сохранялись / обновлялись на реальном DynamoDB, работающем в AWS, а не локально.По сути, я хочу указать приложение на удаленную конечную точку 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
Пожалуйста, помогите.Спасибо