728x90
반응형
이 글에서는 Java 언어를 사용하여 AWS S3에 파일을 업로드하는 방법에 대해 소개합니다. AWS SDK를 활용하여 S3 클라이언트를 초기화하고, 업로드할 파일을 선택하여 S3 버킷에 업로드하는 방법을 다룹니다.
AWS SDK 설치하기:
- 먼저 AWS SDK를 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 아래와 같이 의존성을 추가합니다.
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.12.231</version>
</dependency>
728x90
AWS S3 클라이언트 초기화하기:
- AWS S3 클라이언트를 초기화하여 연결합니다. 이때 AWS 계정 정보를 필요로 합니다.
package com.admin.pressroom;
import java.io.File;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.transfer.TransferManager;
import com.amazonaws.services.s3.transfer.TransferManagerBuilder;
import com.amazonaws.services.s3.transfer.Upload;
public class AwsS3 {
public static void uploadFile(String filePath, String fileName) throws AmazonClientException, InterruptedException {
Regions clientRegion = Regions.AP_NORTHEAST_2;
String bucketName = "버킷명+디렉토리경로";
String accessKey = "엑세스키";
String secretKey = "시크릿키";
try {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(clientRegion)
.withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
.build();
TransferManager tm = TransferManagerBuilder.standard()
.withS3Client(s3Client)
.build();
String realPath = filePath+fileName; //업로드할 파일절대경로
Upload upload = tm.upload(bucketName, fileName, new File(realPath));
System.out.println("Object upload started");
upload.waitForCompletion();
System.out.println("Object upload complete");
} catch (AmazonServiceException e) {
e.printStackTrace();
} catch (SdkClientException e) {
e.printStackTrace();
}
}
}
사용 예제:
- 다음은 위에서 작성한 클래스를 사용하여 파일을 업로드하는 예제입니다.
String path="/temp";
ServletContext context= request.getSession().getServletContext();
String filePath=context.getRealPath(path);
AwsS3.uploadFile(filePath,originFileName);
AWS SDK를 활용하여 S3 클라이언트를 초기화하고, 업로드할 파일을 선택하여 S3 버킷에 업로드할 수 있습니다.
반응형
728x90
반응형
'JAVA' 카테고리의 다른 글
Singleton 디자인 패턴 이해하기 (0) | 2024.03.09 |
---|---|
Gradle 프로젝트 설정하기 (0) | 2024.03.09 |
Java 네트워크 프로그래밍 이해하기: 기본 개념과 예제 (0) | 2024.03.07 |
Java 함수형 인터페이스(Functional Interface) 이해하기: 람다 표현식과의 관계 (0) | 2024.03.07 |
Java try-with-resources 구문 이해하기: 자원 관리의 간편한 방법 (0) | 2024.03.07 |