inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

112

이원희

작성한 질문수 2

0

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

aws aws-elb aws-rds ec2 s3

답변 2

0

JSCODE 박재성

안녕하세요 원희님!

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

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

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

2

이원희

감사합니다!!!

0

JSCODE 박재성

image.pngimage.png

 

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

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

0

인프런 AI 인턴

안녕하세요, 인프런 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 공식 문서를 통해 확인하실 수 있습니다.

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

사용하고 계신 WebStorm 관련 질문

0

64

1

포스트맨에서 이미지파일 업로드가 안됩니다.

0

64

2

aws 인스턴스 삭제 관련 질문

0

89

2

aws에서 msyql,nginx,certbot다 설치하기

0

67

2

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

0

83

2

[실습] 4. RDS에 접속하기

0

90

2

49차시 [실습]3.파라미터 그룹 추가하기

0

73

2

명령어 어디에 있나요?

0

85

3

비전공자도 이해할 수 있는 AWS 입문/실전 강의의 PDF에서 ELB 페이지가 안맞습니다.

0

75

2

영상이 안 나옵니다 ㅠㅠ

0

62

2

이번 실습은 무료 플랜에서도 가능한가요?

0

114

2

S3 호스팅? Amplify 호스팅?

0

57

1

RDS 파라미터를 만들었는데 추가구성 데이터 옵션에 토글 버튼에 해당 그룹이 안나옵니다. 어떻게 해야하나요?

0

99

2

RDS 엔트포인트 내부 엔드 포인트로 설정하는 법이 있을까요?

0

60

2

보안그룹질문입니다.

0

71

2

이걸 볼려면 리눅스는 알아야 하는군요..

0

103

1

EC2 컴퓨팅 리소스에 연결 vs 연결 안 함

0

83

1

AWS EC2 서버 보안

0

77

2

Route53에서 도매인 구매

0

106

2

HTTPS 적용 전인데 HTTPS로 접속이 가능한 이유

0

93

2

CloudFront 생성 시 HTTP와 HTTPS 관련 질문

0

69

2

ELB HTTPS 인증서 연결 후 EC2는 어떻게 처리하나요?

0

77

2

elb 강의듣던중 질문드립니다!

0

54

2

Postman으로 응답받은 부분 질문 있습니다

0

69

2