国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Minio入門系列【5】JAVA集成Minio之存儲桶操作API使用詳解

這篇具有很好參考價值的文章主要介紹了Minio入門系列【5】JAVA集成Minio之存儲桶操作API使用詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 前言

1.1 官方文檔和SDK

官方文檔:https://min.io/docs/minio/kubernetes/upstream/index.html?ref=docs-redirect
SDK:https://github.com/minio/minio-java
Minio 提供了多種語言的SDK,比如java、go、python等。JAVA開發(fā)平臺可以選擇JS和java SDK,也就是前端和后端都可以直接集成minio。
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲

1.2 技術(shù)方案

每個OSS的用戶都會用到上傳服務。Web端常見的上傳方法是用戶在瀏覽器或App端上傳文件到應用服務器,應用服務器再把文件上傳到OSS。具體流程如下圖所示。
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲
和數(shù)據(jù)直傳到OSS相比,以上方法有三個缺點:

  • 上傳慢:用戶數(shù)據(jù)需先上傳到應用服務器,之后再上傳到OSS。網(wǎng)絡傳輸時間比直傳到OSS多一倍。如果用戶數(shù)據(jù)不通過應用服務器中轉(zhuǎn),而是直傳到OSS,速度將大大提升。而且OSS采用BGP帶寬,能保證各地各運營商之間的傳輸速度。

  • 擴展性差:如果后續(xù)用戶多了,應用服務器會成為瓶頸。

  • 費用高:需要準備多臺應用服務器。由于OSS上傳流量是免費的,如果數(shù)據(jù)直傳到OSS,不通過應用服務器,那么將能省下幾臺應用服務器。

目前通過Web前端技術(shù)上傳文件到OSS,有三種技術(shù)方案:

  • 利用OSS js SDK將文件上傳到OSS,也就是前端直連OSS,但是容易暴露認證信息,安全性不太高。

  • 使用表單上傳方式,將文件上傳到OSS。利用OSS提供的接口臨時接口,使用表單上傳方式將文件上傳到OSS。然后請求后端,告知上傳完成,進行后續(xù)處理。

  • 先上傳到應用服務器,再請求OSS上傳,這種安全性較高,可以對數(shù)據(jù)和認證進行管控,但是性能最差。

2 集成 JAVA SDK

因為一般的非互聯(lián)網(wǎng)項目,對性能要求不高,所以采用JAVA SDK集成MInio,然后提供接口給Web端調(diào)用就行了。

2.1 環(huán)境搭建

首先搭建一個Maven基礎工程,引入相關依賴,這里引入的是最新的8.3.1版本。還引入了okhttp的最新包,不然某些API會提示版本太低。

<dependency>
  			<groupId>io.minio</groupId>
  			<artifactId>minio</artifactId>
  			<version>8.3.1</version>
		</dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.9.2</version>
        </dependency>

2.2 初始化客戶端

可以看到現(xiàn)在minio都是采用Builder構(gòu)建者模式來構(gòu)造對象,和之前有很大的區(qū)別,所以需要注意。

//url為地址,accessKey和secretKey為用戶名和密碼
MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();

2.3 存儲桶基礎操作

2.3.1 存儲桶是否存在

檢查存儲桶是否存在。

public boolean bucketExists(BucketExistsArgs args)

示例代碼:

    /**
     * 判斷桶是否存在
     */
    public static boolean bucketExists(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        return minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
    }

2.3.2 創(chuàng)建存儲桶

創(chuàng)建一個啟用給定區(qū)域和對象鎖定功能的存儲桶。

public void makeBucket(MakeBucketArgs args)

示例代碼:

    /**
     * 添加存儲桶
     */
    public static void makeBucket(String url, String accessKey, String secretKey, String bucketName, String region, boolean objectLock)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).region(region).objectLock(objectLock).build());
    }

創(chuàng)建后,就可以在控制臺看到這些存儲桶了,最后那個被鎖定的存儲桶,上傳文件及刪除后,發(fā)現(xiàn)還是會顯示存在這些對象,實際磁盤上的文件并沒有刪除

2.3.3 查詢存儲桶信息列表

列出所有桶的桶信息。

public List<Bucket> listBuckets()

示例代碼:

    /**
     * 查詢存儲桶信息列表
     */
    public static List<Bucket> listBuckets(String url, String accessKey, String secretKey) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        return minioClient.listBuckets();
    }

    public static void main(String[] args) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        List<Bucket> buckets = listBuckets("url", "accessKey", "secretKey");
        for (Bucket bucket : buckets) {
            System.out.println(bucket.creationDate() + ", " + bucket.name());
        }
    }

打印信息如下,返回的創(chuàng)建時間是美國時間,需要注意。
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲

2.3.4 刪除存儲桶

刪除一個空桶。

public void removeBucket(RemoveBucketArgs args) 

示例代碼:

    /**
     * 刪除存儲桶
     */
    public static void removeBucket(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.removeBucket(RemoveBucketArgs.builder().bucket(bucketName).build());
    }

注意:要確保存儲桶存在,否則會報錯,刪除時最好調(diào)用bucketExists()方法判斷是否存在

2.4 設置存儲桶操作

2.4.1 加密配置

設置桶的加密配置,以允許在該桶中上傳對象時,采用對應加密配置對數(shù)據(jù)進行加密。當前支持配置的服務端加密方式為KMS托管密鑰的服務端加密(SSE-KMS),及AES256加密。
設置桶的加密配置:

public void setBucketEncryption(SetBucketEncryptionArgs args)

獲取桶的加密配置:

public SseConfiguration getBucketEncryption(GetBucketEncryptionArgs args)

2.4.2 生命周期

生命周期管理可適用于以下典型場景:

  • 周期性上傳的日志文件,可能只需要保留一個星期或一個月。到期后要刪除它們。

  • 某些文檔在一段時間內(nèi)經(jīng)常訪問,但是超過一定時間后便可能不再訪問了。這些文檔需要在一定時間后轉(zhuǎn)化為低頻訪問存儲,歸檔存儲或者刪除。

存儲桶生命周期配置:

public void setBucketLifecycle(SetBucketLifecycleArgs args)

獲取桶的生命周期配置:

public LifecycleConfiguration getBucketLifecycle(GetBucketLifecycleArgs args) 

示例代碼:

 // 5. 生命周期
        List<LifecycleRule> rules = new LinkedList<>();
        // 配置生命周期規(guī)則
        rules.add(
                new LifecycleRule(
                        Status.ENABLED, // 開啟狀態(tài)
                        null,
                        new Expiration((ZonedDateTime) null, 365, null), // 保存365天
                        new RuleFilter("logs/"), // 目錄配置
                        "rule2",
                        null,
                        null,
                        null));
        LifecycleConfiguration lifecycleConfiguration = new LifecycleConfiguration(rules);
        // 添加生命周期配置
        minioClient.setBucketLifecycle(
                SetBucketLifecycleArgs.builder().bucket("my-bucketname").config(lifecycleConfiguration).build());
        // 獲取配置
        LifecycleConfiguration lifecycleConfiguration1111 =
                minioClient.getBucketLifecycle(
                        GetBucketLifecycleArgs.builder().bucket("my-bucketname").build());
        List<LifecycleRule> rules1 = lifecycleConfiguration1111.rules();
        for (int i = 0; i < rules1.size(); i++) {
            System.out.println("Lifecycle status is " + rules1.get(i).status());
            System.out.println("Lifecycle prefix is " + rules1.get(i).filter().prefix());
            System.out.println("Lifecycle expiration days is " + rules1.get(i).expiration().days());
        }

打印結(jié)果如下:
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲

2.4.3 通知配置

可以使用存儲桶事件通知來監(jiān)控存儲桶中對象上發(fā)生的事件。

MinIO 服務器支持的各種事件類型有:
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲
存儲桶配置通知:

public void setBucketPolicy(SetBucketPolicyArgs args)

獲取桶的通知配置:

public NotificationConfiguration getBucketNotification(GetBucketNotificationArgs args)

代碼示例:

// 6. 通知配置 
        // Add a new SQS configuration.
        NotificationConfiguration notificationConfiguration = new NotificationConfiguration();
        List<QueueConfiguration> queueConfigurationList = notificationConfiguration.queueConfigurationList();
        QueueConfiguration queueConfiguration = new QueueConfiguration();
        queueConfiguration.setQueue("arn:minio:sqs::1:webhook");

        List<EventType> eventList = new LinkedList<>();
        eventList.add(EventType.OBJECT_CREATED_PUT);
        eventList.add(EventType.OBJECT_CREATED_COPY);
        queueConfiguration.setEvents(eventList);
        queueConfiguration.setPrefixRule("images");
        queueConfiguration.setSuffixRule("pg");

        queueConfigurationList.add(queueConfiguration);
        notificationConfiguration.setQueueConfigurationList(queueConfigurationList);

        // Set updated notification configuration.
        minioClient.setBucketNotification(
                SetBucketNotificationArgs.builder().bucket("my-bucketname").config(notificationConfiguration).build());
        System.out.println("Bucket notification is set successfully");

        NotificationConfiguration minioClientBucketNotification =
                minioClient.getBucketNotification(
                        GetBucketNotificationArgs.builder().bucket("my-bucketname").build());
        System.out.println(minioClientBucketNotification);

2.4.4 策略配置

添加存儲桶策略配置。

public void setBucketPolicy(SetBucketPolicyArgs args) 

獲取桶的桶策略配置。

public String getBucketPolicy(GetBucketPolicyArgs args)

2.4.5 復制配置

存儲桶復制旨在將存儲桶中的選定對象復制到目標存儲桶,內(nèi)容較多,后續(xù)補上

添加存儲桶的復制配置

public void setBucketReplication(SetBucketReplicationArgs args)

獲取桶的桶復制配置:

public ReplicationConfiguration getBucketReplication(GetBucketReplicationArgs args)

2.4.6 存儲桶標簽

當為桶添加標簽時,該桶上所有請求產(chǎn)生的計費話單里都會帶上這些標簽,從而可以針對話單報表做分類篩選,進行更詳細的成本分析。例如:某個應用程序在運行過程會往桶里上傳數(shù)據(jù),我們可以用應用名稱作為標簽,設置到被使用的桶上。在分析話單時,就可以通過應用名稱的標簽來分析此應用的成本。

setBucketTags可以為存儲桶設置標簽。

public void setBucketTags(SetBucketTagsArgs args)

getBucketTags獲取桶的標簽。

public Tags getBucketTags(GetBucketTagsArgs args)

示例代碼:

        // 1. 存儲桶標簽
        Map<String, String> map = new HashMap<>();
        map.put("Project", "Project One");
        map.put("User", "jsmith");
        // 設置標簽
        minioClient.setBucketTags(SetBucketTagsArgs.builder().bucket("my-bucketname").tags(map).build());
        // 查詢標簽
        Tags bucketTags = minioClient.getBucketTags(GetBucketTagsArgs.builder().bucket("my-bucketname").build());
        System.out.println(bucketTags.get().toString());

返回結(jié)果:
java集成minio,Minio,微服務,minio,微服務,分布式圖片,對象存儲

2.4.7 多版本設置

若開啟了多版本控制,上傳對象時,OBS自動為每個對象創(chuàng)建唯一的版本號。上傳同名的對象將以不同的版本號同時保存在OBS中。

若未開啟多版本控制,向同一個文件夾中上傳同名的對象時,新上傳的對象將覆蓋原有的對象。

某些功能(例如版本控制、對象鎖定和存儲桶復制)需要使用擦除編碼分布式部署 MinIO。開啟了版本控制后,允許在同一密鑰下保留同一對象的多個版本。

設置存儲桶的版本控制配置。

public void setBucketVersioning(SetBucketVersioningArgs args)

獲取存儲桶的版本控制配置。

public VersioningConfiguration getBucketVersioning(GetBucketVersioningArgs args)

代碼示例:

// 2. 版本配置
        // 'my-bucketname'啟用版本控制
        minioClient.setBucketVersioning(
                SetBucketVersioningArgs.builder()
                        .bucket("my-bucketname")
                        .config(new VersioningConfiguration(VersioningConfiguration.Status.ENABLED, null))
                        .build());
        System.out.println("Bucket versioning is enabled successfully");

        //  'my-bucketname'暫停版本控制
        minioClient.setBucketVersioning(
                SetBucketVersioningArgs.builder()
                        .bucket("my-bucketname")
                        .config(new VersioningConfiguration(VersioningConfiguration.Status.SUSPENDED, null))
                        .build());
        System.out.println("Bucket versioning is suspended successfully");

2.4.8 對象鎖定配置

對象鎖定設置后,刪除對象后,會仍然存在磁盤中。

在存儲桶中設置對象鎖定配置。

public void setObjectLockConfiguration(SetObjectLockConfigurationArgs args) 

獲取存儲桶中的對象鎖配置。

public ObjectLockConfiguration getObjectLockConfiguration(GetObjectLockConfigurationArgs args)

需要先設置存儲桶為對象鎖定模式,示例代碼:

// 3. 將保留模式設置為Compliance,且持續(xù)時間為100天
        // 設置鎖定對象的保留模式及時限
        ObjectLockConfiguration config =
                new ObjectLockConfiguration(RetentionMode.COMPLIANCE, new RetentionDurationDays(100));
        minioClient.setObjectLockConfiguration(
                SetObjectLockConfigurationArgs.builder()
                        .bucket("my-bucketname-in-eu-with-object-lock")
                        .config(config)
                        .build());
        System.out.println("object-lock configuration is set successfully");
        // 獲取鎖定配置
        ObjectLockConfiguration objectLockConfiguration =
                minioClient.getObjectLockConfiguration(
                        GetObjectLockConfigurationArgs.builder()
                                .bucket("my-lock-enabled-bucketname")
                                .build());

        System.out.println("Object-lock configuration of bucket");
        System.out.println("Mode: " + objectLockConfiguration.mode());
        System.out.println("Duration: " + objectLockConfiguration.duration());

2.5 刪除配置

minio提供了一些列的delete方法用于刪除配置,比較簡單,就不舉例說明了。文章來源地址http://www.zghlxwxcb.cn/news/detail-751912.html

2.5.1 刪除桶的加密配置

public void deleteBucketEncryption(DeleteBucketEncryptionArgs args)

2.5.2 刪除存儲桶的生命周期配置

public void deleteBucketLifecycle(DeleteBucketLifecycleArgs args)

2.5.3 刪除桶的標簽

public void deleteBucketTags(DeleteBucketTagsArgs args)

2.5.4 刪除桶的桶策略配置

public void deleteBucketPolicy(DeleteBucketPolicyArgs args)

2.5.5 刪除存儲桶的存儲桶復制配置

public void deleteBucketReplication(DeleteBucketReplicationArgs args)

2.5.6 刪除桶的通知配置

public void deleteBucketNotification(DeleteBucketNotificationArgs args)

3 相關工具類

import io.minio.*;
import io.minio.errors.*;
import io.minio.messages.Bucket;

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

/**
 * minio工具類
 *
 * @author wuKeFan
 * @date 2023-09-08 14:08:10
 */
public class MinioUtil {

    /**
     * 判斷桶是否存在
     */
    public static boolean bucketExists(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        return minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
    }

    /**
     * 添加存儲桶
     */
    public static void makeBucket(String url, String accessKey, String secretKey, String bucketName, String region, boolean objectLock)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).region(region).objectLock(objectLock).build());
    }

    /**
     * 指定地區(qū)添加存儲桶
     */
    public static void makeBucket(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
    }

    /**
     * 指定地區(qū)添加存儲桶并鎖定對象
     */
    public static void makeBucket(String url, String accessKey, String secretKey, String bucketName, String region)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).region(region).build());
    }

    /**
     * 刪除存儲桶
     */
    public static void removeBucket(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.removeBucket(RemoveBucketArgs.builder().bucket(bucketName).build());
    }

    /**
     * 設置桶公有
     */
    public static void setBucketPublicPolicy(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        String sb = "{\"Version\":\"2012-10-17\"," +
                "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
                "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
                "\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + bucketName +
                "\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" +
                bucketName +
                "/*\"]}]}";
        minioClient.setBucketPolicy(
                SetBucketPolicyArgs.builder()
                        .bucket(bucketName)
                        .config(sb)
                        .build());
    }

    /**
     * 設置桶私有
     */
    public static void setBucketPrivatePolicy(String url, String accessKey, String secretKey, String bucketName)
            throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        minioClient.setBucketPolicy(
                SetBucketPolicyArgs.builder().bucket(bucketName)
                        .config(
                                "{\"Version\":\"2012-10-17\",\"Statement\":[]}"
                        )
                        .build());
    }

    /**
     * 查詢存儲桶信息列表
     */
    public static List<Bucket> listBuckets(String url, String accessKey, String secretKey) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
        MinioClient minioClient = MinioClient.builder().endpoint(url)
                .credentials(accessKey, secretKey).build();
        return minioClient.listBuckets();
    }

}

到了這里,關于Minio入門系列【5】JAVA集成Minio之存儲桶操作API使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【分布式技術(shù)專題】「OSS中間件系列」Minio的文件服務的存儲模型及整合Java客戶端訪問的實戰(zhàn)指南

    【分布式技術(shù)專題】「OSS中間件系列」Minio的文件服務的存儲模型及整合Java客戶端訪問的實戰(zhàn)指南

    Minio的元數(shù)據(jù) 數(shù)據(jù)存儲 MinIO對象存儲系統(tǒng)沒有元數(shù)據(jù)數(shù)據(jù)庫,所有的操作都是對象級別的粒度的,這種做法的優(yōu)勢是: 個別對象的失效,不會溢出為更大級別的系統(tǒng)失效。 便于實現(xiàn)\\\"強一致性\\\"這個特性。此特性對于機器學習與大數(shù)據(jù)處理非常重要。 數(shù)據(jù)管理 元數(shù)據(jù)與數(shù)據(jù)一起

    2024年02月11日
    瀏覽(21)
  • 高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

    高性能分布式對象存儲——MinIO實戰(zhàn)操作(MinIO擴容)

    MinIO的基礎概念和環(huán)境部署可以參考我之前的文章:高性能分布式對象存儲——MinIO(環(huán)境部署) 官方文檔:https://docs.min.io/docs/minio-admin-complete-guide.html MinIO Client (mc) 為 UNIX 命令(如 ls、cat、cp、mirror、diff、find 等)提供了現(xiàn)代替代方案。它支持文件系統(tǒng)和兼容 Amazon S3 的云存

    2023年04月26日
    瀏覽(24)
  • 【Java筆記】對象存儲服務MinIO

    【Java筆記】對象存儲服務MinIO

    1 MinIO簡介 MinIO 基于Apache License v2.0開源協(xié)議的對象存儲服務,可以做為云存儲的解決方案用來保存海量的圖片,視頻,文檔。由于采用 Golang 實現(xiàn),服務端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是復制可執(zhí)行程序,單行命令可以運行起來。 MinIO兼容亞馬遜S3云存

    2024年02月13日
    瀏覽(22)
  • kubesphere部署minio及java項目集成

    kubesphere部署minio及java項目集成

    Minio 是一個基于 Apache License v2.0 開源協(xié)議的對象存儲服務。它兼容亞馬遜 S3 云存儲服務接口,非常適合于存儲大容量非結(jié)構(gòu)化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,從幾 kb 到最大 5T 不等。 Minio 的特點 1.部署

    2024年02月06日
    瀏覽(18)
  • 完全從零Java自學系列【入門篇】(第四課:Mysql服務端安裝&使用客戶端操作數(shù)據(jù)庫&初識SQL基礎操作&Java中使用第三方包&Java數(shù)據(jù)庫操作&初步理解面相對象真正的意義之橋接設計模式)

    完全從零Java自學系列【入門篇】(第四課:Mysql服務端安裝&使用客戶端操作數(shù)據(jù)庫&初識SQL基礎操作&Java中使用第三方包&Java數(shù)據(jù)庫操作&初步理解面相對象真正的意義之橋接設計模式)

    ??數(shù)據(jù)庫是專門用來存儲一系列集合數(shù)據(jù)的地方。所有的文件都可以被稱之為庫,當應用場景沒那么復雜的時候,簡單的應用程序用文本就可以了。數(shù)據(jù)庫的意義是為了設計更好的保障數(shù)據(jù)安全(如多線程操作)、數(shù)據(jù)一致、索引(如何在龐大的數(shù)據(jù)中快速查找)等等一系

    2024年02月21日
    瀏覽(29)
  • Minio入門系列【1】Windows/Linux/K8S單機部署Minio

    Minio入門系列【1】Windows/Linux/K8S單機部署Minio

    MinIO 是一個基于Apache License v2.0開源協(xié)議的對象存儲服務。它兼容亞馬遜S3云存儲服務接口,非常適合于存儲大容量非結(jié)構(gòu)化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,從幾kb到最大5T不等。 MinIO是一個非常輕量的服

    2024年02月07日
    瀏覽(33)
  • Java SpringBoot API 實現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細)(模擬數(shù)據(jù)庫操作)

    Java SpringBoot API 實現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細)(模擬數(shù)據(jù)庫操作)

    小編使用的是elasticsearch-7.3.2 基礎說明: 啟動:進入elasticsearch-7.3.2/bin目錄,雙擊elasticsearch.bat進行啟動,當出現(xiàn)一下界面說明,啟動成功。也可以訪問http://localhost:9200/ 啟動ES管理:進入elasticsearch-head-master文件夾,然后進入cmd命令界面,輸入npm?run?start?即可啟動。訪問http

    2024年02月04日
    瀏覽(34)
  • 使用minio進行文件存儲

    使用minio進行文件存儲

    一. Docker拉取鏡像(確保自己的服務器已經(jīng)安裝Docker) 二. 啟動一個miniio容器 賬號是minio; 密碼是minio123 三. 訪問minio管理界面 端口 9090 或 9999 (確保在服務器放行相關端口即可訪問) 點擊 create a Bucket 創(chuàng)建一個bucket(桶), 這里的Bucket 我們可以理解為文件存儲的目錄 輸入 bucke

    2024年02月07日
    瀏覽(23)
  • Minio 踩坑 Docker 使用 免費開源對象存儲 MINIO 包會安裝

    Minio 踩坑 Docker 使用 免費開源對象存儲 MINIO 包會安裝

    minio簡介: 對象存儲人工智能數(shù)據(jù)基礎設施 MinIO 是一種高性能、S3 兼容的對象存儲。它是為大規(guī)模 AI/ML、數(shù)據(jù)湖和數(shù)據(jù)庫工作負載。它是軟件定義的并在任何云或本地基礎設施上運行。MinIO 具有雙重許可根據(jù)開源 GNU AGPL v3 和商業(yè)企業(yè)許可證。 之前使用的是官方的minio/minio,

    2024年04月14日
    瀏覽(37)
  • SpringBoot集成Elasticsearch8.x(6)|(新版本Java API Client使用)

    章節(jié) 章節(jié) 第一章鏈接: SpringBoot集成Elasticsearch7.x(1)|(增刪改查功能實現(xiàn)) 第二章鏈接: SpringBoot集成Elasticsearch7.x(2)|(復雜查詢) 第三章鏈接: SpringBoot集成Elasticsearch7.x(3)|(aggregations之指標聚合查詢) 第四章鏈接: SpringBoot集成Elasticsearch7.x(4)|(aggregations之分桶聚合

    2024年02月08日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包