更新时间:2024-12-12 GMT+08:00
分享

对接OBS云对象存储实例

对象存储服务(Object-based Storage Service,OBS)是一个基于对象的海量存储服务,为您提供海量、安全、高可靠、低成本的数据存储能力,包括创建、修改、删除桶,上传、下载和删除对象等。在AstroZero中,通过应用与OBS对接,为应用提供对象或Widget资产存储功能。

前提条件

  • 使用OBS前,需要拥有一个华为账号或一个可用于访问OBS的IAM用户,即先注册华为云并实名认证、创建IAM用户、充值以及购买资源包,具体操作请参见使用OBS前需要做的准备工作
  • 获取AK(Access Key ID)、SK(Secret Access Key),用于对请求内容进行签名,具体操作请参见获取AK/SK
  • 已在华为OBS上,创建存储桶(例如“bing.testonly.1”),用于后续存储对象使用,具体操作请参见如何创建桶,请记录创建桶时选择的区域。

新建OBS连接器

  1. 参考登录AstroZero新版应用设计器中操作,进入应用设计器。
  2. 在左侧导航栏中,选择“集成”
  3. 单击“连接器”中的“ 连接器实例”,进入连接器实例页面。
  4. 在左侧导航栏中,选择“存储 > OBS”。
  5. 在右侧页面单击“+”,设置OBS对接参数。

    图1 设置OBS对接参数
    表1 创建OBS连接器参数说明

    参数

    说明

    名称

    新建连接器的名称,如TestOBS。命名要求如下:

    • 长度不能超过64个字符,包括前缀命名空间的长度。
      须知:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

    鉴权方式

    根据实际情况选择鉴权方式:

    • 选择AK/SK方式:需先获取访问密钥,并手动输入AK/SK。
    • 选择委托授权方式:需统一授权,无需再填写访问密钥。

    访问密钥

    配置用户的访问密钥AK,即前提条件中获取的Access Key ID值。

    密钥

    配置与访问密钥AK结合使用的秘密访问密钥SK,即前提条件中获取的Secret Access Key值。

    内容分发网络

    CDN服务器的地址。配置后,后续访问上传的静态资源时,可不用登录OBS,直接通过CDN访问到静态资源,多用于预览场景。

    描述

    请根据实际需求,在输入框中输入连接器的描述信息。

    打包当前配置

    选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认会被同步到运行环境中。如果不勾选,则内容不会打包发布到运行环境,此时需要您参考管理应用中的连接器中操作,创建对应的连接器。

    默认为选中,对信息敏感的场景,建议不勾选。

    开启操作日志

    选中该选项后,用户使用连接器上传、下载、查看文件时,将会记录操作日志。

    校验文件内容类型

    开启文件类型校验后,会检查文件内容是否跟后缀类型匹配。 当前仅支持bmp、gif、png、jpg、ico、txt、xml和html几种常见的类型。

    使用安全连接

    设置存储桶所在的区域和桶名称。可选择多个桶,此处以桶“bing.testonly.1”为例。通过配置“文件类型”和“文件大小(字节)”,可限制上传文件的类型和大小。

    设置存储桶所在的区域和桶名称。可选择多个桶,此处以桶“bing.testonly.1”为例。通过配置“文件类型”和“文件大小(字节)”,可限制上传文件的类型和大小。

    • 区域:创建的OBS桶所在区域。
    • 桶名称:配置为前提条件中,创建的桶名。
    • 文件类型:文件类型可以配置为多个,多个文件类型之间由逗号分隔(如txt,png)。如果此处不填写,则支持所有类型。
    • 文件大小:配置为0或不填写,表示上传文件的大小不受限制,允许输入的最大值为9,007,199,254,740,991,单位为字节。
    • 允许渲染类型:是否允许浏览器按照文件类型渲染。
      须知:

      如果允许HTML、SVG等类型的渲染可能会导致浏览器执行用户上传代码等不安全的问题。

  6. 设置完成后,单击“保存”。
  7. (可选)测试是否能在存储桶中,存储对象。

    此处的测试只能上传小于1MB字节的对象,且只支持txt文件。

    1. 在该连接器详情页面,单击存储桶所在行的
    2. 单击“点击上传”,选择对象文件,单击“上传”。
    3. 单击上传好的文件名,进行下载。

通过服务编排调用连接器

OBS连接器创建完成后,支持在服务编排中调用该连接器,实现与OBS的对接。用户也可以在脚本中调用连接器,实现与OBS的对接。如何在脚本中调用OBS连接器,可参考通过AstroZero中的连接器上传并识别身份证图片

  1. 参考创建空白AstroZero服务编排中操作,创建一个空白服务编排。
  2. 在服务编排设计页面,从左侧“连接器 > 存储”中,拖拽“OBS”图元至画布中。

    图2 拖拽OBS图元到画布中

  3. 选中OBS图元,单击,设置基本信息。

    图3 设置基本信息
    表2 OBS图元基本信息参数说明

    参数

    说明

    标签

    OBS图元在系统中展示的名称。

    名称

    OBS图元在系统中的唯一标识,不能和其他图元相同。命名要求如下:

    • 长度不能超过80个字符。
    • 必须以英文字母开头,只能由英文字母,数字或下划线组成,且不能以下划线结尾。

    连接器

    在下拉框中,选择待使用的连接器名称,即新建OBS连接器中创建连接器的名称。

  4. 单击,设置调用OBS参数。

    图4 配置OBS
    表3 OBS图元动作参数说明

    参数

    说明

    动作

    系统预置了如下三个动作,根据业务需求进行选择。
    • view_object_obs:系统预置的查看存储对象接口。
    • put_object_obs:系统预置的存储对象接口,用于将系统的对象存储到OBS的存储桶中。本示例通过该动作,演示如何上传文件到OBS。
    • get_endpoint_obs:用于获取对象存储地址的前缀。该前缀加上传对象的路径,是实际访问对象的全路径。

    输入参数

    为定义连接器时设置的自定义参数。
    • “目标”配置为“object”时:请在“源”中,配置对象名称。
    • “目标”配置为“data”时:请在“源”中,配置对象具体数据。
    • “目标”配置为“bucket”时:请在“源”中,配置桶。
    • “目标”配置为“acl”时:请在“源”中,配置对象文件的访问控制权限。例如“private”(私有)、“public-read”(公共读)、“public-read-write”(公共读写)和“default”(和桶权限一致)。

    输出参数

    “源”选择“result”,“目标”用于接收支付结果,必须定义一个空实例的结构变量来进行接收。

  5. 连接开始图元和OBS图元。

    图5 连接图元

  6. 单击服务编排设计器空白区域,选择,设置服务编排出参。

    将OBS图元的输出参数,作为整个服务编排的输出参数。

  7. 单击页面上方的,保存服务编排。
  8. 保存成功后,单击,运行服务编排。
  9. 在OBS上,查看存储桶中存储的对象列表,可查看到对象已存储成功。
  10. 单击页面上方的,启用服务编排。

相关文档