最新版本Minio踩坑日常

最近版本的Minio的坑有些多

最近需要使用的兄弟建议先看完

  1. 首先就是安装,不会的去看我上个帖子
  2. 创建demo
    创建一个普通的boot项目
import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

public class FileUploader {
  public static void main(String[] args)
      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")
              .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("asiaphotos-2015.zip")
              .filename("/home/user/Photos/asiaphotos.zip")
              .build());
      System.out.println(
          "'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
              + "object 'asiaphotos-2015.zip' to bucket 'asiatrip'.");
    } catch (MinioException e) {
      System.out.println("Error occurred: " + e);
      System.out.println("HTTP trace: " + e.httpTrace());
    }
  }
}

这个demo是官方的,但是你运行起来可能会出现两个错误

第一个就是会报错

Error occurred: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,3]
Message: 文档中根元素前面的标记必须格式正确。
HTTP trace: null

说你的格式不正确,其实就是你端口没用对

新版的minio有两个端口

  1. 9000
  2. 9001

这个在我们安装的时间就能看到
这两个端口一个是给接口调用的,还有一个就是浏览器访问的

如果出现这个格式不正确的错就说明是你用错了端口,换成9000端口就行了

第二个错误就是可能会出现报错说你的okhttp的版本过低,这个的话就直接去网上找个版本高点
的包导入就好了。

在这里插入图片描述

新版本坑挺多,有解决不了的建议去看官方文档,现在网上暂时还没有新版的教程

demo地址: https://github.com/MaoSource/MinioDemo

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
MinIO是一个开源的对象存储服务器,它提供了版本控制功能来管理对象的不同版本。下面是MinIO版本控制的实现方式: 1. 启用版本控制:在创建存储桶时,可以通过设置`--versioning`参数来启用版本控制。例如,使用MinIO客户端工具创建一个名为`mybucket`的存储桶并启用版本控制的命令如下: ``` mc mb myminio/mybucket mc version enable myminio/mybucket ``` 2. 存储对象版本:当启用版本控制后,每次上传或覆盖一个对象时,MinIO会自动为该对象创建一个新的版本。每个版本都有一个唯一的版本ID。 3. 获取对象版本:可以通过指定版本ID来获取特定版本的对象。如果未指定版本ID,则默认获取最新版本的对象。 4. 列出对象版本:可以列出存储桶中所有对象的所有版本。可以使用MinIO客户端工具的`ls`命令来列出对象及其版本。例如,列出存储桶`mybucket`中所有对象及其版本的命令如下: ``` mc ls --versions myminio/mybucket ``` 5. 删除对象版本:可以删除特定版本的对象,也可以删除整个对象的所有版本。使用MinIO客户端工具的`rm`命令来删除对象或特定版本。例如,删除存储桶`mybucket`中特定版本的对象的命令如下: ``` mc rm --version-id=<version-id> myminio/mybucket/object ``` 6. 恢复对象版本:可以将特定版本的对象恢复为最新版本。使用MinIO客户端工具的`cp`命令来恢复对象版本。例如,将存储桶`mybucket`中特定版本的对象恢复为最新版本的命令如下: ``` mc cp --version-id=<version-id> myminio/mybucket/object myminio/mybucket/object ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值