minio s3接口
时间: 2025-02-06 14:39:36 浏览: 76
### 使用 MinIO S3 API 进行对象存储操作
#### 安装 Java 客户端库
为了能够使用 MinIO 的 S3 接口执行对象存储的操作,在项目中需引入相应的 Maven 依赖项。对于基于 Java 的应用来说,这可以通过添加如下所示的依赖实现[^3]。
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.3</version>
</dependency>
```
#### 初始化 MinIO 客户端实例
创建 `MinioClient` 实例时要提供目标服务器地址以及访问凭证(Access Key 和 Secret Key)。这里假设已经获得了这些必要的认证信息并准备就绪用于连接至指定的对象存储服务提供商。
```java
import io.minio.MinioClient;
// 创建 MinIO 客户端实例
MinioClient minioClient = new MinioClient(
"https://play.min.io", // 替换成实际的服务URL, 如滴滴云S3 URL
"YOUR-ACCESSKEYID", // 用户名/Secret ID
"YOUR-SECRETACCESSKEY" // 密码/Secret Key
);
```
#### 执行基本的对象存储操作
下面是一些常见的文件上传、下载和删除的例子:
##### 文件上传
此方法会把本地路径下的文件作为对象存入桶内,并可设置自定义元数据等参数。
```java
try {
minioClient.putObject(
PutObjectArgs.builder()
.bucket("my-bucketname") // 存储空间名称
.object("my-objectname") // 对象名称
.filename("/path/to/file.txt")// 要上传的文件全路径
.build());
} catch (Exception e) {
System.out.println(e.toString());
}
```
##### 文件下载
该函数可以从特定位置读取对象并将内容保存到给定的目标路径下。
```java
try {
minioClient.downloadObject(
DownloadObjectArgs.builder()
.bucket("my-bucketname")
.object("my-objectname")
.filename("/destination/path/file.txt")
.build());
} catch (Exception e) {
System.out.println(e.toString());
}
```
##### 删除单个文件
当不再需要某个资源时,可通过调用 deleteObject 方法将其移除。
```java
try {
minioClient.removeObject(RemoveObjectArgs.builder().bucket("my-bucketname").object("my-objectname").build());
} catch (Exception e) {
System.out.println(e.toString());
}
```
以上就是利用 MinIO 提供的标准 S3 RESTful API 来管理对象的基本方式介绍。由于其遵循 Amazon Web Services 设计标准,因此大部分针对 AWS SDK 编写的文档同样适用于这里的场景[^1]。
阅读全文
相关推荐

















