티스토리 뷰

지난번까지 MinIO를 설치하고 어떻게 사용하는지에 대해서 살펴보았다. 물론 그냥 MinIO Browser 자체를 사용하는 사람도 있을거라 생각하지만 이것만 사용하는것은 앙꼬없는 찐빵같은 것이다. 어플리케이션과 연동해서 사용을 해야 비로소 제대로 사용하는 것이라고 생각된다. 일단 이번에는 MinIO의 bucket을 어떻게 java application으로 컨트롤하는지 예제를 통해 API 사용하는 법을 알아보자. 


 

MinIO Browser 에서 현재 bucket 목록을 확인한다. oingdaddy와 sample이라는 bucket이 존재한다. 


pom.xml

<!-- https://mvnrepository.com/artifact/io.minio/minio -->
<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>6.0.11</version>
</dependency>

일단은 pom.xml 에 minio dependency를 추가해준다. 

 

 

TestMinIO.java   (bucket remove)

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import org.xmlpull.v1.XmlPullParserException;
import io.minio.MinioClient;
import io.minio.errors.MinioException;

public class TestMinIO {

    public static void main(String[] args) {
        try {
            MinioClient minioClient = new MinioClient("http://ip:port", "ID", "암호");
            boolean found = minioClient.bucketExists("sample");
            if (found) {
                minioClient.removeBucket("sample");
                System.out.println("sample bucket is removed successfully");
            } else {
                System.out.println("sample bucket does not exist");
            }
         } catch (Exception e) {
             System.out.println("Error occurred: " + e);
         }
    }
}

일단 생성되어 있는 sample이라는 bucket을 삭제하는 코드다. sample이라는 bucket이 있으면 삭제하고 없으면 없다고 표시해주는 로직이다. 위의 코드를 실행하면 console에는 "sample bucket is removed successfully " 메세지가 출력이 되고 MinIO Browser에 들어가면 sample이라는 bucket이 삭제된 것을 확인할 수 있을것이다. 

 

여기서 가장 핵심은 MinioClient 객체를 활용하는것이다. 이 객체를 얻기 위해서는 MinIO Browser URL (endpoint)과 credential 정보(accesskey, secretkey) 가 필요하다. 이 객체를 이용해서 minio의 모든 api를 사용할 수 있다. 

 

MinIO 제공 API

Bucket operations Object operations Presigned operations Bucket Policy/LifeCycle Operations
makeBucket getObject presignedGetObject getBucketPolicy
listBuckets putObject presignedPutObject setBucketPolicy
bucketExists copyObject presignedPostPolicy setBucketLifeCycle
removeBucket statObject getBucketLifeCycle  
listObjects removeObject deleteBucketLifeCycle  
listIncompleteUploads removeIncompleteUpload    
listenBucketNotification      
setBucketNotification      
getBucketNotification      

참고 : www.lw007.cn/docs/java-client-api-reference.html

 

 


이번에는 위와 마찬가지로 Bucket operation을 활용해서 bucket을 다시 생성해보자. 

 

TestMinIO.java   (bucket create)

public class TestMinIO {

    public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException, IOException, XmlPullParserException {
        try {
            MinioClient minioClient = new MinioClient("ip:port", "ID", "암호");
            boolean found = minioClient.bucketExists("sample");
            if (!found) {
                minioClient.makeBucket("sample");
                System.out.println("sample bucket is create successfully");
            } else {
                System.out.println("sample bucket already exist");
            }
         } catch (MinioException e) {
             System.out.println("Error occurred: " + e);
         }
    }
}

위의 코드를 실행하면 console에는 "sample bucket is create successfully" 메세지가 출력이 되고 MinIO Browser에 들어가면 sample이라는 bucket이 생성된 것을 확인할 수 있을것이다. 이렇듯 위의 API를 활용해서 간단하게 MinIO에 접근할 수 있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30