From fa5b99be224a62625801c059988c12865701b728 Mon Sep 17 00:00:00 2001 From: noeyadd Date: Thu, 16 Oct 2025 17:05:27 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20[FEAT]=20S3=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 3 ++ .../java/wiscom/backend/config/S3Config.java | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/main/java/wiscom/backend/config/S3Config.java diff --git a/build.gradle b/build.gradle index fd06d9a..f5b3758 100644 --- a/build.gradle +++ b/build.gradle @@ -33,6 +33,9 @@ dependencies { annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + + // S3 + implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' } tasks.named('test') { diff --git a/src/main/java/wiscom/backend/config/S3Config.java b/src/main/java/wiscom/backend/config/S3Config.java new file mode 100644 index 0000000..77fdb5a --- /dev/null +++ b/src/main/java/wiscom/backend/config/S3Config.java @@ -0,0 +1,31 @@ +package wiscom.backend.config; + +import com.amazonaws.auth.AWSStaticCredentialsProvider; +import com.amazonaws.auth.BasicAWSCredentials; +import com.amazonaws.services.s3.AmazonS3; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class S3Config { + + @Value("${cloud.aws.credentials.access-key}") + private String accessKey; + + @Value("${cloud.aws.credentials.secret-key}") + private String secretKey; + + @Value("${cloud.aws.region.static}") + private String region; + + @Bean + public AmazonS3 amazonS3() { + BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); + return AmazonS3ClientBuilder.standard() + .withRegion(region) + .withCredentials(new AWSStaticCredentialsProvider(credentials)) + .build(); + } +}