📄 minio 文件系统使用
内部资料,请刷新扫码登录
pigcloud
本章文档对应视频 📺 7.文件系统 minio 使用
# 关于 MINIO
MinIO 是一个基于 AGPL v3 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。(本人公司大规模生产使用,数据量 TB 级别)
官方文档: https://docs.min.io/cn/ (opens new window)
# Docker 运行部署
注意指定 access-key secret-key ,生产注意文件目录挂载
# 注意版本号,此版本为 Apache 2.0 协议可以商用
docker run -p 9000:9000 --name minio1 \
-e "MINIO_ROOT_USER=lengleng" \
-e "MINIO_ROOT_PASSWORD=lengleng" \
registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/minio:RELEASE.2021-04-22T15-44-28Z server /data
# 访问验证
安装后使用浏览器访问 http://ip:9000,如果可以访问,则表示 minio 已经安装成功。
账号/密码为上边指定的 access-key secert-key
# 创建
# 创建 Bucket (存储空间)
# 配置文件配置 minio 信息
file:
bucketName: s3demo # 上文创建的桶名称
oss:
enable: true # v4.4 开启OSS 上传
endpoint: http://IP:9000
access-key: xxx # 上文创建的AK
secret-key: xxx # 上文创建的SK
# 上传代码使用
<!--文件系统-->
<dependency>
<groupId>com.pig4cloud</groupId>
<artifactId>pigx-common-oss</artifactId>
</dependency>
// 低版本注入 OssTemplate
@Autowired
private FileTemplate template;
template.putObject("s3demo", fileName, file.getInputStream());
# FileTemplate 方法说明
方法名 | 作用 | 参数 |
---|---|---|
createBucket | 创建 bucket | bucketName: bucket 的名称 |
getAllBuckets | 获取所有的 bucket | |
getBucket | 根据 bucket 名称获取 bucket | bucketName: bucket 的名称 |
removeBucket | 删除指定的 bucket | bucketName: bucket 的名称 |
getAllObjectsByPrefix | 根据文件前缀查询文件 | bucketName: bucket 的名称 prefix: 文件前缀 recursive: 是否递归查询 |
getObjectURL | 获取文件的外链 | bucketName: bucket 的名称 objectName: 文件名称 expires: 过期时间(0-7) |
getObject | 获取文件 | bucketName: bucket 的名称 objectName: 文件名称 |
putObject | 上传文件 | bucketName: bucket 的名称 objectName: 文件名称 stream: 文件流 size: 大小 contextType: 类型 |
getObjectInfo | 获取文件信息 | bucketName: bucket 的名称 objectName: 文件名称 |
removeObject | 删除文件 | bucketName: bucket 的名称 objectName: 文件名称 |
afterPropertiesSet | 初始化方法,在设置属性之后会被调用,用于创建 AmazonS3 实例 |