- MinIO Quickstart Guide
- MinIO Docker 快速入门
- Minio纠删码快速入门
- 分布式MinIO快速入门
- 使用MinIO分解的HDP Spark和Hive
- 使用TLS安全的访问Minio服务
- MinIO存储桶通知指南
- MinIO Server config.json (v18) 指南
- MinIO多租户(Multi-tenant)部署指南
- MinIO Azure 网关
- MinIO GCS 网关
- MinIO NAS网关
- MinIO S3网关
- MinIO HDFS网关
- 磁盘缓存快速入门
- 如何使用Prometheus监控MinIO服务器
- Federation 快速入门指南
- KMS指南
- 选择API快速入门指南
- 压缩指南
- MinIO多用户快速入门指南
- MinIO STS快速入门指南
- MinIO部署快速入门
- 使用Docker Swarm部署MinIO
- 使用Kubernetes部署MinIO
- 使用Docker Compose部署MinIO
- MinIO客户端快速入门指南
- MinIO Client完全指南
- MinIO管理员完整指南
- 适用于Amazon S3兼容云存储的Minio JavaScript Library
- JavaScript Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Java SDK
- Java Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Python Library
- Python Client API文档
- 适用于与Amazon S3兼容云存储的MinIO Go SDK
- MinIO Go Client API文档
- 适用于与Amazon S3兼容的云存储的MinIO .NET SDK
- .NET Client API参考文档
- 用于Haskell的MinIO Client SDK
- MinIO Haskell SDK API参考
- 使用S3cmd操作MinIO Server
- 使用AWS CLI结合MinIO Server
- restic结合MinIO Server
- 将MySQL备份存储到MinIO Server
- 将MongoDB备份存储到MinIO Server
- 将PostgreSQL备份存储到MinIO Server
- 为MinIO Server设置Caddy proxy
- 为MinIO Server设置Nginx代理
- 使用fluentd插件聚合Apache日志
- Rclone结合MinIO Server
- 结合MinIO运行Deis Workflow
- 为MinIO Server设置Apache HTTP proxy
- 使用pre-signed URLs通过浏览器上传
- 如何在FreeNAS中运行MinIO
- 如何使用Cyberduck结合MinIO
- 如何使用AWS SDK for PHP操作MinIO Server
- 如何使用AWS SDK for Ruby操作MinIO Server
- 如何使用AWS SDK for Python操作MinIO Server
- 如何使用Mountain Duck结合MinIO
- 如何使用AWS SDK for Javascript操作MinIO Server
- 如何使用Træfɪk代理多个MinIO服务
- 如何使用AWS SDK for Go操作MinIO Server
- 如何使用AWS SDK for Java操作MinIO Server
- 如何使用Paperclip操作MinIO Server
- 如何使用AWS SDK for .NET操作MinIO Server
- 如何使用aws-cli调用MinIO服务端加密
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
适用于与Amazon S3兼容的云存储的MinIO Java SDK
MinIO Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务。
本快速入门指南将向你展示如何安装客户端SDK并执行示例java程序。有关API和示例的完整列表,请查看Java Client API Reference文档。
最低需求
Java 1.8或更高版本:
使用maven
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.0.2</version>
</dependency>
使用gradle
dependencies {
compile 'io.minio:minio:7.0.2'
}
直接下载JAR
你可以到maven仓库直接下载最新版的JAR。
快速入门示例-文件上传
本示例程序连接到一个对象存储服务,创建一个存储桶并上传一个文件到该桶中。
你需要有存储服务的三个参数才能连接到该服务。
参数 | 说明 |
---|---|
Endpoint | 对象存储服务的URL |
Access Key | Access key就像用户ID,可以唯一标识你的账户。 |
Secret Key | Secret key是你账户的密码。 |
在下面的例子的中,我们将使用一个运行在https://play.min.io的免费托管的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.min.io", "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文档: 操作存储桶
API文档: 操作文件对象
API文档: Presigned操作
API文档: 操作存储桶策略
完整示例
完整示例: Bucket Operations
- ListBuckets.java
- ListObjects.java
- BucketExists.java
- MakeBucket.java
- RemoveBucket.java
- ListIncompleteUploads.java
完整示例: Object Operations
- PutObject.java
- PutObjectEncrypted.java
- GetObject.Java
- GetObjectEncrypted.Java
- GetPartialObject.java
- RemoveObject.java
- RemoveObjects.java
- StatObject.java
完整示例: Presigned Operations
完整示例: Bucket Policy Operations
了解更多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论