Minio的基本用法
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
~~官方文档~~感觉没人更新了,示例都停留在3.x版本,sdk已经有7+,所以一些API已经过时需要自己摸索。他们开了个新的官网,这个网站倒是没有用古老版本。
依赖包
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.0.2</version>
</dependency>
基本概念
存储桶可以简单理解为“根文件夹”,每个存储桶都是minio服务下的一个一级结点,其下可以有多个子文件夹。
对象在minio服务里每个存储内容都是一个对象。
启动minio服务
-
下载
minio.exe
文件 -
启动服务的命令
.\minio.exe server E:\temp
,后面跟着的路径表示文件上传后存储的位置。
启动完成后,会显示本地访问地址和用户名密码(上图中标红的部分)。
minio内建了一个简单的web服务,可以通过用户名和密码登录网页进行管理。
连接
使用kotlin代码连接minio服务:
private lateinit var mc: MinioClient
@BeforeEach
fun init() {
val endpoint = "http://127.0.0.1:9000"
val accessKeyID = "minioadmin"
val secretAccessKey = "minioadmin"
val useSSL = false
mc = MinioClient(endpoint,