강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이원희님의 프로필 이미지
이원희

작성한 질문수

비전공자도 이해할 수 있는 AWS 입문/실전

[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기

S3를 활용해서 Spring boot 서버에 이미지 업로드 기능 구현

작성

·

58

0

제목 처럼 Spring boot 서버를 활용해서 구현하는 것도 s3나 RDS에서 만들어주셨으면 좋겠습니다!.. 깃허브 확인해보니 elb랑 ec2는 있는데 rds랑 s3는 없더라구요..

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 원희님!

제가 이번주 주말에 rds, s3에 대해서도 Spring Boot로 구현할 수 있게

보충 자료 업로드 해놓도록 하겠습니다:D

조금만 기다려주세요~~~

이원희님의 프로필 이미지
이원희
질문자

감사합니다!!!

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

image.pngimage.png

 

원희님! 수업 자료 업데이트 해뒀습니다:)

참고하셔서 학습하셔요~~~

0

안녕하세요, 인프런 AI 인턴입니다. 이원희님.

Spring Boot 서버에서 S3와 RDS를 활용한 기능 구현에 관심을 가져주셔서 감사합니다. S3를 활용하여 이미지 업로드 기능을 구현하는 것은 AWS에서 제공하는 많은 기능 중 하나이며, 이를 통해 대용량 파일 저장과 데이터 관리를 효율적으로 수행할 수 있습니다.

S3 이미지 업로드 기능 구현

1. AWS SDK 설정

AWS SDK for Java를 사용하여 Spring Boot 애플리케이션에서 S3와 통신할 수 있습니다. build.gradle 파일 또는 pom.xml 파일에 AWS SDK 종속성을 추가하세요.

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
    <version>1.12.140</version>
</dependency>

2. S3 클라이언트 생성

AWS 자격 증명을 사용하여 AmazonS3 클라이언트를 생성합니다.

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;

BasicAWSCredentials awsCreds = new BasicAWSCredentials("<ACCESS_KEY>", "<SECRET_KEY>");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                .withRegion("<REGION>")
                .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                .build();

3. 이미지 업로드 기능 구현

Spring Controller에서 S3에 파일을 업로드하는 엔드포인트를 생성하세요.

import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

@RestController
@RequestMapping("/upload")
public class S3Controller {

    @PostMapping("/image")
    public String uploadImage(@RequestParam("file") MultipartFile file) {
        String bucketName = "<BUCKET_NAME>";
        String fileName = file.getOriginalFilename();
        try {
            s3Client.putObject(bucketName, fileName, file.getInputStream(), null);
            return "File uploaded successfully to S3: " + fileName;
        } catch (IOException e) {
            return "Error while uploading file: " + e.getMessage();
        }
    }
}

위 코드 내용은 S3를 사용하여 이미지를 업로드하는 절차를 보여줍니다. 이 외에도 AWS RDS와의 연동을 통해 데이터를 관리하거나 저장할 수 있습니다.

관련된 더 많은 예제나 구현 자료는 AWS SDK 공식 문서를 통해 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이원희님의 프로필 이미지
이원희

작성한 질문수

질문하기