minio oss插件

介绍

平台增强套件之一minio

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

插件安装,安装完之后,要重启gateway服务

联系商务

插件配置说明

  1. 打开存储桶管理进行数据维护,添加一个minIo的存储桶,存储类型选择minIo。(注意:存储空间标识要唯一)

  1. 打开apollo找到document服务,添加minio oss配置

  1. 如果更新了apollo中的minIo oss配置,需要清理缓存,否者不生效

注意事项:

  1. 存储空间标识 不能写成minio 或者miniO ,minio存储服务不允许这样命名,可以写minio1这种
  2. 设置号bucket,进行存储文件时,系统会根据空间标识创建对应的bucket。

插件使用

  1. 存储桶管理,默认要设置一个,不能多个。

  1. 功能附件上传

如果功能没有指定bucket,那么上传附件时,附件会寻找默认的bucket去存储
如果指定了,按照指定的bucket存储

  1. 代码中使用

系统提供常用api

  1. 上传文件

地址:/je/document/file
请求类型:POST
参数:

名称 标识 类型 是否必填
存储空间标识 bucket string 否,没有走默认
表名 tableCode string
主键标识 pkCode string
功能code funcCode string
产品标识 productCode string
文件 files file

返回值:

{
    "code": "1000",
    "data": [
        {
            "fileKey": "Hph4QWM2yMriH5aT8FB",
            "relName": "接口引擎.zip",
            "suffix": "zip",
            "hasThumbnail": false,
            "fullUrl": null,
            "size": 128,
            "createUserName": null,
            "createUserDeptName": null,
            "createTime": "2024-05-11 10:41:53",
            "createTimeStr": "2024-05-11 10:41:53",
            "dicId": null,
            "dicCode": null,
            "dicName": null,
            "remarks": null
        }
    ],
    "message": "操作成功",
    "success": true,
    "rows": null,
    "totalCount": null
}

截图:

  1. 遍历文件

地址:/je/document/minio/listFilesMeta
请求类型:GET
参数:

名称 标识 类型 是否必填
存储空间标识 bucket string

返回值:

{
    "code": "1000",
    "data": [
        {
            "fileName": "document/",
            "isDir": true,
            "fileSize": 0,
            "children": [
                {
                    "fileName": "document/2024/",
                    "isDir": true,
                    "fileSize": 0,
                    "children": [
                        {
                            "fileName": "document/2024/0510/",
                            "isDir": true,
                            "fileSize": 0,
                            "children": [
                                {
                                    "fileName": "document/2024/0510/im8LTTdbz42KnkGtEtZ.zip",
                                    "isDir": false,
                                    "fileSize": 124123
                                }
                            ]
                        },
                        {
                            "fileName": "document/2024/0511/",
                            "isDir": true,
                            "fileSize": 0,
                            "children": [
                                {
                                    "fileName": "document/2024/0511/PgbMKd5FhMExzfrD6ut.zip",
                                    "isDir": false,
                                    "fileSize": 59233
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "message": "操作成功",
    "success": true,
    "rows": null,
    "totalCount": null
}

截图:

  1. 获取文件下载地址

地址:/je/document/getUrl
请求类型:GET
参数:

名称 标识 类型 是否必填
文件标识 fileKey string
url地址有效期(秒) duration int 否,默认3600秒

返回值:

{
    "code": "1000",
    "data": "http://127.0.0.1:9000/minio1//document/2024/0511/rE3da2fFMZEr6dpG12w/%E6%8E%A5%E5%8F%A3%E5%BC%95%E6%93%8E.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=NIWJf8d1aU12uMxOCVnL%2F20240511%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240511T022310Z&X-Amz-Expires=3599&X-Amz-SignedHeaders=host&X-Amz-Signature=599fa45027c32987738bbf84a3f08949884ebd27e39c520101137a9b20373519",
    "message": "操作成功",
    "success": true,
    "rows": null,
    "totalCount": null
}

截图:

  1. 下载文件

地址:/je/document/minio/getFile
请求类型:GET
参数:

名称 标识 类型 是否必填
文件路径 filePath string 需要转移
存储空间标识 bucket string

返回值:
file

截图:

最后编辑: 于春辉  文档更新时间: 2024-11-08 17:00   作者:于春辉