📌S3 연동
Pre-SignedURL?
S3 버킷에 업로드된 컨텐츠는 기본적으로 비공개인데, 미리 서명된 URL을 사용하게 되면 설정해둔 시간동안 URL을 통해 모두 접근이 가능하도록 할 수 있다.
✔️fileName은 key와 동일
✔️expire는 2분으로 설정해 두었음 밀리세컨단위임
✔️amazonS3Client는 yaml설정값으로 자동으로 연결됨 위에 링크 참고
private String getPreSignedURL(File uploadFile, String dirName) {
String preSignedURL = "";
String fileName = dirName + "/" + uploadFile.getName();
Date expiration = new Date();
long expTimeMillis = expiration.getTime();
expTimeMillis += 1000 * 60 * 2;
expiration.setTime(expTimeMillis);
log.info(expiration.toString());
try {
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(bucket, fileName)
.withMethod(HttpMethod.GET)
.withExpiration(expiration);
URL url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);
preSignedURL = url.toString();
log.info("Pre-Signed URL : " + url.toString());
} catch (Exception e) {
e.printStackTrace();
}
return preSignedURL;
}
'STUDY > Spring' 카테고리의 다른 글
Spring Boot | MyBatis 연동 (0) | 2021.03.04 |
---|---|
Spring Boot | REST API 만들기 ( + IntelliJ Lombok추가) (0) | 2021.03.04 |
Spring Boot | Kafka를 이용한 채팅 (3) 메시지 주고받기 + ReactJS (9) | 2021.01.13 |
Spring Boot | Kafka를 이용한 채팅 (2) Kafka 연동 설정 (0) | 2021.01.13 |
Spring Boot | Kafka를 이용한 채팅 (1) Kafka설치 및 프로젝트 생성 (1) | 2021.01.12 |