Untitled
unknown
plain_text
2 years ago
1.8 kB
6
Indexable
package co.id.bahasakita.webtreasury.configuration; import co.id.bahasakita.webtreasury.properties.AwsProperties; import co.id.bahasakita.webtreasury.service.AwsFileService; import co.id.bahasakita.webtreasury.serviceimpl.AwsFileServiceImpl; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @Slf4j public class AwsConfiguration { @Bean @ConditionalOnMissingBean public AmazonS3 amazonS3(AWSCredentialsProvider awsCredentialsProvider, AwsProperties awsProperties) { log.info("aws host: {}", awsProperties.getHost()); log.info("aws bucket name: {}", awsProperties.getBucketName()); return AmazonS3ClientBuilder.standard() .withCredentials(awsCredentialsProvider) .withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration(awsProperties.getHost(), awsProperties.getSigningRegion())) .build(); } @Bean @ConditionalOnMissingBean public AWSCredentialsProvider awsCredentialsProvider(AwsProperties awsProperties) { return new AWSStaticCredentialsProvider( new BasicAWSCredentials(awsProperties.getAccessKey(), awsProperties.getSecretKey())); } @Bean @ConditionalOnMissingBean public AwsFileService awsFileService(AmazonS3 amazonS3, AwsProperties awsProperties) { return new AwsFileServiceImpl(amazonS3, awsProperties); } }
Editor is loading...