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