对接MINIO存储功能
背景信息
MINIO为系统提供的预置存储器,在部署AstroZero时已经进行安装配置。华为云线上不支持使用MINIO,线下可使用。
在AstroZero中,通过应用与MINIO对接,可实现对象或Widget资产存储功能。
前提条件
- 已获取MINIO的访问密钥ID和访问密钥。
- 已在MINIO上,创建存储桶,用于后续存储对象使用。
新建MINIO连接器
- 参考创建连接器入口中操作,进入创建连接器页面。
- 在左侧列表中,选择“存储 > MINIO”,单击“+”。
图1 选择MINIO
- 设置MINIO对接参数,单击“保存”。
图2 新建连接器
- 名称:连接器的名称。
- 访问密钥:MINIO的访问密钥ID。
- 密钥:MINIO的秘密访问密钥。
- 内容分发网络:CDN服务器的地址。配置后,后续访问上传的静态资源时,可不用登录MINIO,直接通过CDN访问到静态资源。
- 描述:连接器的描述信息。
- 打包当前配置:默认为选中,对信息敏感的场景,建议不勾选。
选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认会被同步到运行环境中。
- 开启操作日志:选中该选项后,用户使用连接器上传、下载、查看文件时,将会记录操作日志。
- 校验文件内容类型:开启文件类型校验后,会检查文件内容是否跟后缀类型匹配。 当前仅支持bmp、gif、png、jpg、ico、txt、xml和html几种常见的类型。
图3 添加桶
设置存储桶所在的区域和桶名称,可选择多个桶。通过配置“文件类型”和“文件大小(字节)”,可限制上传文件的类型和大小。
- 区域:存储桶所在的区域。
- 桶名称:创建的桶名。
- 文件类型:文件类型可以配置为多个,多个文件类型之间由逗号分隔(如txt,png)。如果此处不填写,则支持所有类型。
- 文件大小:配置为0或不填写,表示上传文件的大小不受限制,允许输入的最大值为9007199254740991,单位为字节。
- (可选)测试是否能在存储桶中,存储对象。
该测试只能上传小于1MB字节的对象。
- 在该连接器详情页面,单击存储桶所在行的。
- 单击“点击上传”,选择对象文件,单击“上传”。
图4 选择对象
- 单击上传好的文件名,进行下载。
- 打开下载的对象存储文件,查看与上传的对象存储文件是否一致。
通过服务编排调用连接器
MINIO连接器创建完成后,支持在服务编排中调用该连接器,实现与MINIO的对接。用户也可以在脚本中调用连接器,实现与MINIO的对接。若想获取系统预置的接口说明,请单击脚本主要用什么语言和库。
- 参考如何开发服务编排中操作,创建一个空白服务编排。
图5 添加服务编排
- 在服务编排设计页面,从左侧“连接器 > 存储”中,拖拽“minio”图元到画布中。
minio是系统预置的,与MINIO对接的存储接口。
图6 拖拽minio图元到画布中
- 选中图元,单击,设置基本信息。
图7 设置基本信息
- 标签:图元在页面显示的名称。
- 名称:图元在系统中的唯一标识,不能和其他图元相同。
- 连接器:该服务编排使用的,连接器的名称。
- 单击,设置调用MINIO参数。
图8 配置MINIO
- 动作:系统预置了如下三个动作。
- view_object_minio:系统预置的查看存储对象接口。
- put_object_minio:是系统预置的存储对象接口,用于将系统的对象存储到MINIO的存储桶中。
- get_endpoint_minio:用于获取对象存储地址的前缀。该前缀加上传对象的路径,是实际访问对象的全路径。
- 输入参数:为定义连接器时,设置的自定义参数。
- “目标”配置为“object”时:请在“源”中,配置对象名称。
- “目标”配置为“data”时:请在“源”中,配置对象具体数据。
- “目标”配置为“bucket”时:请在“源”中,配置桶。可在连接器列表中,单击连接器名称,进入详情页查看桶信息。
- “目标”配置为“acl”时:请在“源”中,配置对象文件的访问控制权限。例如“private”(私有)、“public-read”(公共读)、“public-read-write”(公共读写)和“default”(和桶权限一致)。
- 输出参数:“源”选择“result”,“目标”用于接收支付结果,必须定义一个空实例的结构变量来进行接收。
- 动作:系统预置了如下三个动作。
- 连接开始图元和MINIO图元。
图9 连接图元
- 单击服务编排编辑器空白区域,选择,设置服务编排出参。
将MINIO图元的输出参数,作为整个服务编排的输出参数。
图10 设置输出参数
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 在MINIO上,查看存储桶中存储的对象列表,可查看对象已存储成功。