适用于与Amazon S3兼容的云存储的Minio Java SDK
Minio Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务。
本快速入门指南将向你展示如何安装客户端SDK并执行示例java程序。有关API和示例的完整列表,请查看Java Client API Reference文档。
最低需求
Java 1.8或更高版本:
- OracleJDK 8.0
- OpenJDK8.0
使用maven
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.10</version>
</dependency>
使用gradle
dependencies {
compile 'io.minio:minio:3.0.10'
}
直接下载JAR
你可以到maven仓库直接下载最新版的JAR。
快速入门示例-文件上传
本示例程序连接到一个对象存储服务,创建一个存储桶并上传一个文件到该桶中。
你需要有存储服务的三个参数才能连接到该服务。
参数 | 说明 |
---|---|
Endpoint | 对象存储服务的URL |
Access Key | Access key就像用户ID,可以唯一标识你的账户。 |
Secret Key | Secret key是你账户的密码。 |
在下面的例子的中,我们将使用一个运行在https://play.minio.io:9000的免费托管的Minio服务。你可以随意使用此服务进行测试和开发。此示例中显示的访问凭据是公开的。
FileUploader.java
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 FileUploader {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
try {
// 使用Minio服务的URL,端口,Access key和Secret key创建一个MinioClient对象
MinioClient minioClient = new MinioClient("https://play.minio.io:9000", "Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG");
// 检查存储桶是否已经存在
boolean isExist = minioClient.bucketExists("asiatrip");
if(isExist) {
System.out.println("Bucket already exists.");
} else {
// 创建一个名为asiatrip的存储桶,用于存储照片的zip文件。
minioClient.makeBucket("asiatrip");
}
// 使用putObject上传一个文件到存储桶中。
minioClient.putObject("asiatrip","asiaphotos.zip", "/home/user/Photos/asiaphotos.zip");
System.out.println("/home/user/Photos/asiaphotos.zip is successfully uploaded as asiaphotos.zip to `asiatrip` bucket.");
} catch(MinioException e) {
System.out.println("Error occurred: " + e);
}
}
}
编译FileUploader
javac -cp "minio-3.0.9-all.jar" FileUploader.java
运行FileUploader
java -cp "minio-3.0.9-all.jar:." FileUploader
/home/user/Photos/asiaphotos.zip is successfully uploaded as asiaphotos.zip to `asiatrip` bucket.
mc ls play/asiatrip/
[2016-06-02 18:10:29 PDT] 82KiB asiaphotos.zip
API文档
下面链接是完整的API文档
-
API文档: 操作存储桶
- listBuckets
- bucketExists
- removeBucket
- listObjects
-
API文档: 操作文件对象
- putObject
- copyObject
- statObject
- removeObject
-
API文档: Presigned操作
- presignedPutObject
-
API文档: 操作存储桶策略
- setBucketPolicy
完整示例
完整示例: Bucket Operations
- ListBuckets.java
- ListObjects.java
- BucketExists.java
- MakeBucket.java
- RemoveBucket.java
-
完整示例: Object Operations
- PutObjectEncrypted.java
- GetObject.Java
- GetObjectEncrypted.Java
- GetPartialObject.java
- RemoveObject.java
- RemoveObjects.java
-
完整示例: Presigned Operations
- PresignedPutObject.java
-
完整示例: Bucket Policy Operations
-
了解更多
- Minio Java Client SDK API文档
- 创建属于你的照片API服务-完整示例
贡献
原文: https://docs.minio.io/cn/java-client-quickstart-guide.html