在上篇文章中介绍了使用mc客户端操作MinIO的方式,实际上也可以使用其他语言和MinIO进行集成,目前MinIO可以通过Java、JavaScript、Python、Go以及.Net等方式进行集成。这篇文章通过一个示例来介绍一下所提供的Java API的使用方式。
目录
- MinIO Java Client SDK
- JDK版本要求
- Pom文件使用方法
-
- Maven方式
- Gradle方式
- Maven仓库地址
- MinIO服务器端安装设定
- MinIO客户端安装设定
- 使用示例
-
- Pom文件
- 代码示例
- 执行与结果确认
- 注意事项
- 总结
MinIO Java Client SDK
MinIO Java Client SDK通过提供API的方式来访问和操作MinIO,同时可以操作Amazon S3以及与其兼容的对象存储。
JDK版本要求
JDK需要Java 1.8或更高版本,如下版本为最低JDK版本:
- OracleJDK 8.0
- OpenJDK8.0
Pom文件使用方法
Maven方式
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.4</version>
</dependency>
Gradle方式
dependencies {
compile 'io.minio:minio:7.1.4'
}
Maven仓库地址
- https://repo1.maven.org/maven2/io/minio/minio/7.1.4/
MinIO服务器端安装设定
详细可参看:https://liumiaocn.blog.csdn.net/article/details/109450407
MinIO客户端安装设定
详细可参看:https://liumiaocn.blog.csdn.net/article/details/109455360
使用示例
Pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>liumiaocn</groupId>
<artifactId>minio</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.10</version>
</dependency>
</dependencies>
</project>
代码示例
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;
import org.xmlpull.v1.XmlPullParserException;
import io.minio.MinioClient;
import io.minio.errors.MinioException;
public class MinIOFileUploader {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
try {
// 使用MinIO服务的URL,端口,Access key和Secret key创建一个MinioClient对象
MinioClient minioClient = new MinioClient("http://localhost:9000", "liumiao", "password");
// 检查存储桶是否已经存在
boolean isExist = minioClient.bucketExists("newbucket");
if(isExist) {
System.out.println("Bucket already exists.");
} else {
// 创建一个名为newbucket的存储桶。
minioClient.makeBucket("newbucket");
}
// 使用putObject上传一个文件到存储桶中。
minioClient.putObject("newbucket","local-file-list.info", "/Users/liumiao/local-file-list.info");
System.out.println("/Users/liumiao/local-file-list.info is successfully uploaded as local-file-list.info to `newbucket` bucket.");
} catch(MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
执行与结果确认
- 执行上述程序
然后从MinIO中就可以看到创建的新存储桶和文件的信息了
注意事项
中文官方文档中仍然使用的是3.0.10的API,功能验证时直接使用了此版本,最新的7.1.4中有一些使用方式已经发生了变化。新版本的使用方式已经验证,详细可参看:
- https://liumiaocn.blog.csdn.net/article/details/109460974
总结
这篇文章介绍了如何利用MinIO提供的Java API进行存储桶检查、创建以及文件的上传。