跳到主要内容

如何启用自定义文件对象存储

HAP支持使用自定义文件对象存储(基于 S3 标准,如:阿里云OSS、腾讯云COS、华为云OBS、七牛云等),以代替默认的存储服务(基于 MinIO)。仅需参考以下几步,即可启用。

  1. 在服务器中创建配置文件 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系统共使用 mdmediamdpicmdpubmdoc 4个 bucket,您可以在配置文件的 bucketName 字段中映射实际使用的 bucket

  2. 挂载配置

    单机模式下修改微服务应用对应的 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
  3. 初始化预制文件

    你可以使用各对象存储厂商所提供的工具,将 预制文件包 根据在 s3-config.json 文件 bucketName 映射关系上传到云端对应的 bucket 中。如:HAP 私有部署阿里云OSS初始化说明

    如果是对已在使用中的HAP系统做文件存储迁移,则需要在 mingdaoyun-sc 容器内使用 mc 命令将内置 minio 服务的的 bucket 数据,根据在 s3-config.json 文件 bucketName 中映射关系,将 minio 的 bucket 数据迁移至你对象存储的 bucket 中。

  4. 重启HAP微服务