62 lines
2.2 KiB
Java
62 lines
2.2 KiB
Java
package com.caliverse.admin.global.configuration;
|
|
|
|
import com.caliverse.admin.domain.entity.CLOTHSMALLTYPE;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import software.amazon.awssdk.auth.credentials.*;
|
|
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient;
|
|
import software.amazon.awssdk.regions.Region;
|
|
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
|
|
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
|
|
|
|
@Configuration
|
|
public class DynamoDBConfig {
|
|
@Value("${amazon.dynamodb.endpoint}")
|
|
private String amazonDynamoDBEndpoint;
|
|
|
|
@Value("${amazon.aws.accesskey}")
|
|
private String amazonAWSAccessKey;
|
|
|
|
@Value("${amazon.aws.secretkey}")
|
|
private String amazonAWSSecretKey;
|
|
|
|
@Value("${amazon.aws.region}")
|
|
private String amazonAWSRegion;
|
|
|
|
@Bean
|
|
public DynamoDbClient dynamoDbClient() {
|
|
var builder = DynamoDbClient.builder()
|
|
.region(Region.US_WEST_2)
|
|
.credentialsProvider(awsCredentialsProvider());
|
|
|
|
if (amazonDynamoDBEndpoint != null && !amazonDynamoDBEndpoint.isEmpty()) {
|
|
builder.endpointOverride(java.net.URI.create(amazonDynamoDBEndpoint));
|
|
}
|
|
return builder.build();
|
|
}
|
|
|
|
@Bean
|
|
public AwsCredentialsProvider awsCredentialsProvider() {
|
|
if (amazonAWSAccessKey == null || amazonAWSAccessKey.isEmpty() ||amazonAWSSecretKey == null || amazonAWSSecretKey.isEmpty()) {
|
|
return StaticCredentialsProvider.create(AwsBasicCredentials.create("fakeAccesskey", "fakeSecretKey"));
|
|
}
|
|
return StaticCredentialsProvider.create(AwsBasicCredentials.create(amazonAWSAccessKey, amazonAWSSecretKey));
|
|
}
|
|
|
|
@Bean
|
|
public CloudWatchClient cloudWatchClient() {
|
|
return CloudWatchClient.builder()
|
|
.region(Region.US_WEST_2)
|
|
.credentialsProvider(awsCredentialsProvider())
|
|
.build();
|
|
}
|
|
|
|
@Bean
|
|
public DynamoDbEnhancedClient dynamoDbEnhancedClient(DynamoDbClient dynamoDbClient) {
|
|
return DynamoDbEnhancedClient.builder()
|
|
.dynamoDbClient(dynamoDbClient)
|
|
.build();
|
|
}
|
|
}
|