클라우드컴퓨팅

[NCloud] Object Storage

winwin-k9 2023. 5. 26. 23:50

학교에서 무료 크레딧을 지원해줘서 네이버 클라우드를 사용하여 작업하고 있다!!

이미지를 입출력을 해야 하기때문에 S3같은 서비스를 이용해야 했다.

네이버클라우드의 Object Storage를 이용하면 S3처럼 이용할 수 있더라....

 

스프링의 S3를 이용하기 위한 Gradle의존성을 받고 사용할 수 있다.   

공홈을 뒤져보면 S3라이브러리를 그대로 사용하여 스토리지를 이용할 수 있다.

 

	implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

 

그러나 문제가 생겼다.

 

@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;

    @Value("${cloud.aws.s3.endpoint}")
    private String endPoint;

    @Value("${cloud.aws.s3.bucket}")
    private String bucket;

    @Bean
    public AmazonS3 amazonS3Client() {
        AmazonS3 amazonS3 = AmazonS3ClientBuilder
                .standard()
                .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, region))
                .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
                .build();

        AccessControlList acl = amazonS3.getBucketAcl(bucket);
        acl.grantPermission(GroupGrantee.AllUsers, Permission.Read);
        amazonS3.setBucketAcl(bucket, acl);
        return amazonS3;
    }

}

 

위는 설정파일이다.

AccessControllerList이후의 코드를 보면 권한을 설정하고 있다는 것을 알 수 있다.   

스토리지에 이미지를 올리게 되면 디폴트로 해당 파일의 공개여부가 비공개로 된다...

여러 레퍼런스를 뒤져봐도 실패.... 결국 아마존 S3를 이용해야 하는걸로ㅜㅜㅜ

728x90