클라우드컴퓨팅
[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