minio初使用


Minio是GlusterFS創始人之一Anand Babu Periasamy發布新的開源項目。Minio兼容Amason的S3分布式對象存儲項目,采用Golang實現,客戶端支持Java,Python,Javacript, Golang語言。

Minio可以做為雲存儲的解決方案用來保存海量的圖片,視頻,文檔。由於采用Golang實現,服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是復制可執行程序,單行命令可以運行起來。

liunx上run起來服務

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

訪問地址:
http://127.0.0.1:9000/

默認賬號密碼:
minioadmin
minioadmin

代碼上傳圖片

pom.xml

 <dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.3.0</version>
</dependency>

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>
package com.wzq.demoftl.minio;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;

import io.minio.*;

import io.minio.errors.MinioException;
import io.minio.http.Method;

public class FileUploader {
    public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException {

        String endpoint = "http://192.168.60.133:9000";
        String accessKey = "710K927ZQPHC2H7X9PUX";
        String secretKey = "2pD0JF+WZWoroZBQsjgRwe0Ior7znDjc+rp2xJ6D";
        try {
            // Create a minioClient with the MinIO server playground, its access key and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint(endpoint)
                            .credentials(accessKey,secretKey)
                            .build();

            // Make 'asiatrip' bucket if not exist.
            boolean found =
                    minioClient.bucketExists(BucketExistsArgs.builder().bucket("bucket1").build());
            if (!found) {
                // Make a new bucket called 'asiatrip'.
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("bucket1").build());
            } else {
                System.out.println("Bucket 'asiatrip' already exists.");
            }

            // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            ObjectWriteResponse bucket1 = minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("bucket1")
                            .object("1234.jpg")
                            .filename("C:\\Users\\honor-wzq\\Pictures\\123.jpg")
                            .build());
            String bucket = bucket1.bucket();

            String url =
                    minioClient.getPresignedObjectUrl(
                            GetPresignedObjectUrlArgs.builder()
                                    .method(Method.GET)
                                    .bucket("bucket1")
                                    .object("1234.jpg")
                                    .expiry(24 * 60 * 60)
                                    .build());
            System.out.println(url);

            System.out.println(
                    "bucket : " + bucket);
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.httpTrace());
        }
    }


}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM