Java 快速入门指南
适用于 Amazon S3 兼容云存储的 MinIO Java SDK
MinIO Java SDK 是一个简单存储服务 (也称为 S3) 客户端,用于对任何与 Amazon S3 兼容的对象存储服务执行存储桶和对象操作。
有关 API 和示例的完整列表,请查看 Java 客户端 API 参考 文档。
最低要求
Java 1.8 或更高版本。
Maven 用法
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.13</version>
</dependency>
Gradle 用法
dependencies {
implementation("io.minio:minio:8.5.13")
}
JAR 下载
最新的 JAR 可以从 这里下载
快速入门示例 - 文件上传器
此示例程序连接到对象存储服务器,在服务器上创建一个存储桶,然后将文件上传到该存储桶。
您需要三个项目才能连接到对象存储服务器。
参数 |
描述 |
---|---|
端点 |
S3 服务的 URL。 |
访问密钥 |
S3 服务中帐户的访问密钥(也称为用户 ID)。 |
密钥 |
S3 服务中帐户的密钥(也称为密码)。 |
此示例使用 MinIO 服务器游乐场 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.5.13-all.jar FileUploader.java
运行 FileUploader
$ java -cp minio-8.5.13-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
更多参考
进一步探索
贡献
请参考 贡献者指南