본문 바로가기
프로젝트

[23해커톤] [#3] S3 사용법 익히기

by 동백05 2023. 7. 22.

S3를 활용해서 사진 업로드 하는 것을 구현하기로 하였다. 이전에 사용하였던 lightsail 인스턴스에 스토리지를 붙여서 사용해볼 계획이다.

 

1. 스토리지 생성하기

연습용이라 굳이 큰 스토리지가 필요하지 않을 것 같아서 일단 제일 작은 사이즈로 만들었다. 지난번 서버처럼 또 후회하는건 아니겠지..

 

.

 

 

s3Config.java

@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 AmazonS3Client amazonS3Client(){
        BasicAWSCredentials awsCredentials= new BasicAWSCredentials(accessKey,secretKey);
        return (AmazonS3Client) AmazonS3ClientBuilder.standard().withRegion(region)
                .withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();

    }


}

s3Controller

 

 

github desktop 통해서 push를 하고 puTTY로 들어가서 git pull 해주었다.

그러고 빌드를 진행했다.

오류가 난다

이제부터 이 오류에 대해 알아봐야한다

오류 로그를 잘 읽어보니 대충 너무 큰 사이즈라는 것 같아서(해당 파일은 10mb였다) 더 작은 이미지를 업로드 해봤다

또 다른 오류가 발생했다

컨트롤러의 코드를 살짝 바꾸고 재트라이 해보기로 했다. 혹시나 해서 버킷 엑세스 권한도 전부 public으로 바꾸었다

그래도 오류가 나서 혹시 lightsail의 스토리지에 만들어서 그런가..? 하는 마음에 실제 s3 버킷을 만들었고 일단 local에서 서버를 띄워서 확인해 보았다.

 

 

성공을 하였다.

앞에서 한거랑 다르게 한 것들

1. S3 버킷 생성

2. application.yml .으로 찍어놓은거 :로 변경 이후 잘 보이게 정렬<이것도 큰 것 같다. 여기서 문제가 생겨서 인텔리제이로 서버 올릴 때 오류가 났었다.

 

한숨 자고 일어나서 다시 건들어보았다.

다른 블로그 글을 찾아서 해봤는데 액세스 키를 lightsail용으로 따로 만들어서 했어야 했는데 안해서 그런 것 같다. 문제 없이 작동하는 것을 확인할 수 있었다.

이후 사진을 확인하는 것은 다음에 하려고 한다. 일단 된다는게 중요

댓글