Java操作MinIO存储服务的API示例

本文将详细阐述如何利用Java语言调用MinIO的API,执行在MinIO存储服务上进行各种文件操作的方法。

一、使用MinIO Java SDK进行连接

要进行任何操作,首先要创建一个MinioClient实例,用于和MinIO服务进行通信。


MinioClient minioClient = new MinioClient("https://play.min.io", "YOUR-ACCESSKEY", "YOUR-SECRETKEY");

这段代码将会创建一个MinioClient对象,其中需要填入您自己的accesskey和secretkey,对应您的MinIO服务的权限。

二、将文件上传至MinIO

在确保连接成功后,我们可以通过putObject方法,将本地文件上传至MinIO服务。例如,上传本地的一个图片文件"example.jpg"到MinIO服务中名为"images"的bucket中。


minioClient.putObject(
  PutObjectArgs.builder().bucket("images").object("example.jpg")
    .stream(
      inputStream, -1, 10485760)
    .build());

其中,inputStream是代表"example.jpg"文件的InputStream对象,-1表示文件的大小,10485760表示上传文件的part size。

三、从MinIO下载文件

下载文件可通过调用MinIO Java SDK的getObject方法,将MinIO服务中的文件下载到本地。


try (InputStream stream = minioClient.getObject(
  GetObjectArgs.builder().bucket("images").object("example.jpg").build())) {
  // read input stream to copy to output stream
}

这段代码将会从"images"桶中下载文件"example.jpg",并保存为本地InputStream对象,后续可以进行文件的读取操作。

四、在MinIO删除文件

对于不再需要的文件,我们可以通过调用removeObject方法从MinIO服务中删除。


minioClient.removeObject(
    RemoveObjectArgs.builder().bucket("images").object("example.jpg").build());

该代码会删除MinIO服务中"images"桶内的"example.jpg"文件。

本文标题为:Java操作MinIO存储服务的API示例