Java之MinIO存储桶和对象API使用

本文介绍了如何使用Java MinIO Client SDK进行存储桶和对象的基本操作,包括环境搭建、存储桶的创建、查询、删除,以及对象的上传、下载、复制和删除。还详细讲解了预签名URL的生成以及对象信息的查询方法,适用于前端开发者进行对象存储服务的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MinIO Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务。

新版 MinIO和旧版在 API使用上还是有一定的区别,比如:新版 MinIO采用 Builder构建者模式来构造 MinioClient对象。所以,官方demo仅供参考,尽量查看英文官方文档。
在这里插入图片描述

一、环境搭建

1、创建一个 maven项目,引入依赖:

    <!-- minio依赖-->
    <dependency>
      <groupId>io.minio</groupId>
      <artifactId>minio</artifactId>
      <version>8.3.3</version>
    </dependency>
    <!-- 官方 miniodemo需要的依赖-->
    <dependency>
      <groupId>me.tongfei</groupId>
      <artifactId>progressbar</artifactId>
      <version>0.7.4</version>
    </dependency>
    
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>4.9.2</version>
    </dependency>

这里我把 官方demo 放到了我的项目中,所以必须引入 progressbar依赖。否则忽略它。

2、初始化Minio客户端
注意:

  • 新版 MinIO 采用 Builder构建者模式来构造 MinioClient对象。

  • API端口和 访问控制台端口不要搞混了。

        // 初始化Minio客户端
        MinioClient minioClient = MinioClient.builder()
                .endpoint("http://xxx.xxx.xxx.xxx:9000/")
                .credentials("admin", "xxx")
                .build();
        System.out.println(minioClient);
    

获取到 MinioClient对象,就可以进行 MinIO的 API操作使用了。

二、存储桶基本使用

1、检查存储桶是否存在。

  • boolean bucketExists(BucketExistsArgs args):检查存储桶是否存在。

示例:

BucketExistsArgs btest2 = BucketExistsArgs.builder().bucket("btest2").build();
boolean existFlag = minioClient.bucketExists(btest2);

注意: 旧版参数是字符串 - 存储桶名,新版需要 build来构造 BucketExistsArgs对象。

2、创建存储桶

  • public void makeBucket(MakeBucketArgs args):创建一个启用给定区域和对象锁定功能的存储桶。

示例1:存储桶不存在则创建

		String bucketName = "java.minio.demo";
		// 存储桶不存在则创建
		if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
			minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
			System.out.printf("%s,创建成功
", bucketName);
		}else{
			System.out.printf("%s,已存在
", bucketName);
		}

3、查询存储桶

3.1 查询所有桶的列表信息

  • public List listBuckets():列出所有桶的桶信息。

示例:

        List<Bucket> bucketList =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值