子曰: 工欲善其事, 必先利其器。所以本篇先记录minio对象存储部署过程, 再简单记录使用minio-go s3 遇到的问题
部署
部署配置在 docker部署分布式minio , 配置中开启了4个minio服务和1个nginx, nginx服务做了负载均衡。minio账号密码可通过其中minio.yml文件修改。
特殊说明:新版本minio分布式采用websocket通信, 在nginx.conf中要配置支持websocket协议
成功部署后
登录:http://localhost:9001/login
账号:minio.yml配置的MINIO_ROOT_USER(minio)
密码:minio.yml配置的MINIO_ROOT_PASSWORD(minio123)
go使用minio
-
先创建access keys、bucket
image.png -
调用api可参考examples
-
由于近期公司业务使用华为云存储,需要支持修改object的acl访问权限,找遍minio-go源码,发现s3 api 并不支持修改object的访问权限。
仅在上传时可以设置header控制访问权限,具体如下
但此配置对minio存储无效,亲测oss可生效。
-
在minio存储中可对object设置 retention进行权限控制,本人测过 retention对oss无效。(object设置retention的前提是bucket设置object locking=enabled)
-
本地测试如果想访问上传资源, 需要设置bucket access policy
image.png
总结
如有设置资源的acl需要 可以考虑换成aws-sdk, minio s3标准不支持此配置。关于minio对象存储有什么问题,欢迎评论,大家一起交流学习~
网友评论