Java Quickstart Guide
适用于 Amazon S3 兼容对象存储的 MinIO Java SDK 
MinIO Java SDK 是一个 Simple Storage Service(即 S3)客户端,可用于在任意兼容 Amazon S3 的对象存储服务上执行存储桶和对象操作。
有关完整的 API 和示例列表,请参阅 Java Client API Reference 文档。
最低要求
Java 1.8 或更高版本。
Maven 用法
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.6.0</version>
</dependency>
Gradle 用法
dependencies {
implementation("io.minio:minio:8.6.0")
}
JAR 下载
可从这里下载 JAR。
快速开始示例 - 文件上传器
该示例程序会连接到对象存储服务器,在服务器上创建一个存储桶,然后将文件上传到该存储桶。
连接对象存储服务器需要以下三个参数。
| 参数 | 说明 |
|---|---|
| Endpoint | 指向 S3 服务的 URL。 |
| Access Key | S3 服务中某个账户的访问密钥(即用户 ID)。 |
| Secret Key | S3 服务中某个账户的 Secret Key(相当于密码)。 |
本示例使用 MinIO Server Playground https://play.min.io。可使用该服务进行测试和开发。
FileUploader.java
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());
}
}
}
编译 FileUploader
$ javac -cp minio-8.6.0-all.jar FileUploader.java
运行 FileUploader
$ java -cp minio-8.6.0-all.jar:. FileUploader
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.
$ mc ls play/asiatrip/
[2016-06-02 18:10:29 PDT] 82KiB asiaphotos-2015.zip
更多参考
深入了解
贡献
请参阅 贡献指南。
Portions of this page are adapted from the MinIO Object Storage Documentation, © 2020–Present MinIO, Inc., licensed under CC BY 4.0, converted and maintained by the Silo project. Attribution