如何启用自定义文件对象存储
HAP支持使用自定义文件对象存储(基于 S3 标准,如:阿里云OSS、腾讯云COS、华为云OBS、七牛云等),以代替默认的存储服务(基于 MinIO)。仅需参考以下几步,即可启用。
-
在服务器中创建配置文件
s3-config.json
,模板如下(阿里云OSS为例):{
"mode": 1,
"accessKeyID": "${Key}",
"secretAccessKey": "${Secret}",
"bucketEndPoint": "oss-cn-beijing.aliyuncs.com",
"bucketName": {
"mdmedia": "oss-mdtest",
"mdpic": "oss-mdtest",
"mdpub": "oss-mdtest",
"mdoc": "oss-mdtest"
},
"region": "oss-cn-beijing"
}注意:目前HAP系统共使用
mdmedia
、mdpic
、mdpub
、mdoc
4个 bucket,您可以在配置文件的 bucketName 字段中映射实际使用的 bucket -
挂载配置
单机模式下修改微服务应用对应的
docker-compose.yaml
,将s3-config.json
配置文件挂载至mingdaoyun-sc
容器内/usr/local/file/s3-config.json
路径。集群模式下修改文件存储服务对应的yaml
。sc:
volumes:
- ${s3-config.json文件所在宿主机路径}:/usr/local/file/s3-config.json -
初始化预制文件
你可以使用各对象存储厂商所提供的工具,将 预制文件包 根据在 s3-config.json 文件 bucketName 映射关系上传到云端对应的 bucket 中。如:HAP 私有部署阿里云OSS初始化说明
如果是对已在使用中的HAP系统做文件存储迁移,则需要在
mingdaoyun-sc
容器内使用mc
命令将内置 minio 服务的的 bucket 数据,根据在 s3-config.json 文件 bucketName 中映射关系,将 minio 的 bucket 数据迁移至你对象存储的 bucket 中。 -
重启HAP微服务