[kotlin] Amazon S3에 파일 업로드 및 다운로드하는 코틀린 예제
Amazon S3는 파일을 안전하게 저장하고 다양한 기능을 제공하는 클라우드 스토리지 서비스입니다. 이 서비스를 사용해 파일을 업로드 및 다운로드하는 방법을 살펴보겠습니다.
Amazon S3 라이브러리 추가
먼저, Amazon S3를 사용하기 위해 aws-java-sdk-s3
라이브러리를 Gradle 또는 Maven을 사용하여 프로젝트에 추가합니다.
Gradle을 사용한다면 build.gradle
에 다음과 같이 의존성을 추가합니다.
dependencies {
implementation 'software.amazon.awssdk:s3:2.17.59'
}
Maven을 사용한다면 pom.xml
에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.17.59</version>
</dependency>
Amazon S3 파일 업로드
Amazon S3에 파일을 업로드하기 위해 S3Client
를 초기화하고 PutObjectRequest
를 사용하여 파일을 업로드합니다.
import software.amazon.awssdk.services.s3.S3Client
import software.amazon.awssdk.services.s3.model.PutObjectRequest
import java.io.File
val s3Client = S3Client.create()
fun uploadFile(bucketName: String, key: String, file: File) {
val putObjectRequest = PutObjectRequest.builder()
.bucket(bucketName)
.key(key)
.build()
s3Client.putObject(putObjectRequest, file.toPath())
}
위의 코드에서 bucketName
은 업로드할 버킷의 이름, key
는 업로드된 객체의 키, file
은 업로드할 파일을 가리키는 File
객체입니다.
Amazon S3 파일 다운로드
Amazon S3에서 파일을 다운로드하기 위해 GetObjectRequest
를 사용하여 파일을 다운로드합니다.
import software.amazon.awssdk.services.s3.model.GetObjectRequest
fun downloadFile(bucketName: String, key: String, downloadLocation: File) {
val getObjectRequest = GetObjectRequest.builder()
.bucket(bucketName)
.key(key)
.build()
s3Client.getObject(getObjectRequest, downloadLocation.toPath())
}
위의 코드에서 bucketName
은 다운로드할 버킷의 이름, key
는 다운로드할 객체의 키, downloadLocation
은 다운로드한 파일을 저장할 경로를 나타냅니다.
이제 Amazon S3에 파일 업로드 및 다운로드하는 방법을 살펴보았습니다. 더 자세한 정보는 Amazon S3 공식 문서를 참고하시기 바랍니다.