iwinv Object Storage - Java SDK (with Maven)
해당 메뉴얼은 AWS S3에서 제공하는 Java SDK를 이용하여 iwinv Object Storage를 사용하는 방법을 설명합니다. (Apache Maven 사용)
참고문서
https://docs.aws.amazon.com/ko_kr/sdk-for-java/v1/developer-guide
https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/java
Java SDK 사용하기
테스트 OS : Ubuntu 18.04 LTS
Endpoint -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> API {IDC} Endpoint
Access_Key : console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Access Key ID
Secret_Key : console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Secret Key ID
maven 설치하기
|
maven 패키지 설치
|
코드작성하기
|
pom.xml 파일 수정하기
java코드 작성 후 pom.xml 파일을 수정합니다.
java 코드 실행시 main class를 실행하도록 코드에 맞는 main class를 지정합니다. ( maven-shade-plugin 사용)
# pom.xml 예제 (프로젝트 구조는 위에 예제와 동일하며 코드는 CreateBucket.java 코드 작성)
============================================================================ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> ============================================================================ |
빌드하기
|
실행하기
|
# 예제코드
버킷 생성
package aws.example.s3; import com.amazonaws.regions.Regions; import java.util.List; public class CreateBucket { public static Bucket createBucket(String bucket_name) { Bucket b = null; public static void main(String[] args) { if (args.length < 1) { String bucket_name = args[0]; System.out.format(“\nCreating S3 bucket: %s\n”, bucket_name);
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] |
버킷 삭제
package aws.example.s3; import com.amazonaws.AmazonServiceException; import java.util.Iterator; public class DeleteBucket { if (args.length < 1) { String bucket_name = args[0]; System.out.println(“Deleting S3 bucket: ” + bucket_name); if (object_listing.isTruncated()) { System.out.println(” – removing versions from bucket”); if (version_listing.isTruncated()) { System.out.println(” OK, bucket ready to delete!”);
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] |
버킷 리스트 확인
package aws.example.s3; import com.amazonaws.regions.Regions; public class ListBuckets { |
오브젝트 업로드
package aws.example.s3; import com.amazonaws.AmazonServiceException; public class PutObject { if (args.length < 2) { String bucket_name = args[0]; System.out.format(“Uploading %s to S3 bucket %s…\n”, file_path, bucket_name);
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] [Path/File_Name] ex) java -jar myapp-1.0-SNAPSHOT.java iwinv-bucket /home/ubuntu/test.txt |
오브젝트 다운로드
package aws.example.s3; import com.amazonaws.AmazonServiceException; import java.io.File; public class GetObject { if (args.length < 2) { String bucket_name = args[0]; System.out.format(“Downloading %s from S3 bucket %s…\n”, key_name, bucket_name); try {
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] [Object_Name] |
오브젝트 리스트 확인
package aws.example.s3; import com.amazonaws.regions.Regions; public class ListObjects { if (args.length < 1) { String bucket_name = args[0]; System.out.format(“Objects in S3 bucket %s:\n”, bucket_name);
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] |
오브젝트 삭제
package aws.example.s3; import com.amazonaws.AmazonServiceException; public class DeleteObject { if (args.length < 2) { String bucket_name = args[0]; System.out.format(“Deleting object %s from S3 bucket: %s\n”, object_key, try {
# 실행 명령어 java -jar 파일명.jar [Bucket_Name] [Object_Name] |