MinIO与java集成

一、与java集成

参考官网
英文官网:https://docs.min.io/
中文文档(中文官网更新慢):http://docs.minio.org.cn
在这里插入图片描述

1.1导入maven

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

1.2测试使用的demo

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import org.junit.jupiter.api.Test;

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

class CrmExcleMinioApplicationTests {
    // 官方demo:浏览下即可
    @Test
    void minioTest() throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            // Create a minioClient with the MinIO server playground, its access key
            // and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("https://play.min.io") //.region("us-east-2")
                            .credentials("Q3AM3UQ867SPQQA43P2F", "zuf" +
                                    "+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG")
                            .build();

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

            // Upload '/home/user/Photos/asiaphotos.zip' as object name
            // 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("asiatrip")
                            .object("1.jpg")
                            .filename("D://1.jpg")
                            .build());
            System.out.println(
                    "上传成功");
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.httpTrace());
        }
    }


    @Test
    void minioTest2() throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            // 创建连接
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://127.0.0.1:9000") //.region("us-east-2")
                            .credentials("minioadmin", "minioadmin")
                            .build();
            // 如果使用的 桶不存在 则创建 桶
            boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(
                    "ssss").build());
            if (!found) {
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("ssss").build());
            }
            // 上传文件
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket("ssss")
                            .object("nba.jpg")
                            .filename("nba.jpg")
                            .build());
            System.out.println("上传成功");
        } catch (MinioException e) {
            e.printStackTrace();
        }
    }

}

二、关于纠删码

纠删码技术是一种数据恢复技术,最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术。它通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性。在一定范围内的数据出错情况下,通过纠删码技术都可以进行恢复。比如:有原始数据块n个,然后加入m个校验数据块。原始数据块和校验数据块在丢失时,都可以通过现有的数据块进行恢复。

举例:

①x=1
②y=2
③z=3
④x+y+z=6
⑤2x+3y+z=11
⑥x+2y+3z=14

1)如果我们丢了3个原始数据块,可以恢复

④x+y+z=6
⑤2x+3y+z=11
⑥x+2y+3z=14

2)如果我们丢失了3个数据校验块,可以恢复

①x=1
②y=2
③z=3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值