Minio使用说明与java集成

1. Linux运行minio

linux安装包下载点
https://dl.minio.io/server/minio/release/linux-amd64/minio

如果linux系统能联网,可直接通过wget命令下载

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

进入minio文件所在位置,然后执行命令:

chmod +x minio
./minio server /mnt/data

minio服务启动成功。

后台运行

nohup /usr/local/bin/minio server  /home/minio/data > /home/minio/data/minio.log 2>&1 &

自定义MINIO_ACCESS_KEY和MINIO_SECRET_KEY

export MINIO_ACCESS_KEY=root
export MINIO_SECRET_KEY=root_1234

2. windows运行minio

首先下载安装包,windows下载点
https://dl.minio.io/server/minio/release/windows-amd64/minio.exe

下载结束后,cmd命令行进入minio.exe所在文件夹,然后执行

minio.exe server F:\Data

minio服务启动成功,其中F:\Data可设置成读者本地磁盘任何位置。

3. minio使用

minio服务启动后,默认端口是9000,在命令界面会显示如下信息:

  access-key: WHF2WW7QP2DWNQV7MQ63
  secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg

这些信息需要记住,在登录和项目配置时需要。

如此minio启动成功,然后访问http://127.0.0.1:9000,在登录页输入access-key和secret-key,可直接用浏览器操作minio服务器中的文件库与文件。

4. 依赖jar包引用

确认项目已经引入jar包io.minio

    <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>6.0.4</version>
    </dependency>

配置文件中已经配置minio服务信息,如下:

minio:
  url: http://127.0.0.1:9000
  access-key: WHF2WW7QP2DWNQV7MQ63
  secret-key: pM3u0Yp+avPuPqPnwu7v+4k4EmlJqQp3dDuNThtg

4.1 创建文件库(bucket)

a)可用浏览器登录http://127.0.0.1:9000,直接创建bucket
b)调用api(参考如下代码)

import io.minio.MinioClient

@Autowired
private MinioClient client;

public void createBucket(String bucketName) {
        if (!client.bucketExists(bucketName)) {
            client.makeBucket(bucketName);
        }
    }

4.2 文件上传、预览、下载、删除,参考如下代码

    public void putObject(String bucketName, String objectName, InputStream stream, long size, String contextType) throws Exception {
        if (StringUtils.isBlank(bucketName)) {
            throw new RuntimeException("保存的bucketName为空");
        }
        createBucket(bucketName);
        client.putObject(bucketName, objectName, stream, size, contextType);
    }

    public InputStream getObject(String bucketName, String objectName) {
        return client.getObject(bucketName, objectName);
    }

    public String getObjectURL(String bucketName, String objectName, Integer expires) {
        return client.presignedGetObject(bucketName, objectName, expires);
    }
    public void removeObject(String bucketName, String objectName) throws Exception {
        client.removeObject(bucketName, objectName);
    }

其他操作参考io.minio的api:
http://docs.minio.org.cn/docs/master/java-client-quickstart-guide

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,347评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,146评论 0 10
  • 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...
    阳屯okyepd阅读 9,002评论 0 7
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 9,971评论 0 16
  • hello,我又回来了,最近事情太多了。又有很多新项目在做。一些很有意义的事情,这几天我会慢慢写一写。 亚马逊大家...
    bemyself2017阅读 2,755评论 1 0