美文网首页
Minio使用说明与java集成

Minio使用说明与java集成

作者: GuanYZ | 来源:发表于2019-03-22 18:09 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Minio使用说明与java集成

          本文链接:https://www.haomeiwen.com/subject/gzilvqtx.html