OneNET应用开发环境 由浅入深应用开发环境
应用开发环境介绍 初识应用开发环境 开发入门 开发进阶
开发指南
开发应用 定义数据对象 创建聚合对象 开发脚本 管理事件 开发流 配置审批流程 开发标准页面 开发高级页面 开发商业流 配置连接器 开发Email发送功能 配置工作流 开发报表 自定义BO 管理平台

配置S3存储功能

通过应用与Amazon S3(Amazon Simple Storage Service)对接,实现文件存储功能。

背景信息

首先,您需要清楚以下概念:

  • Amazon S3(Amazon Simple Storage Service):是一种互联网存储解决方案。Amazon S3提供了一个简单 Web服务接口,用于随时在Web上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施, Amazon用它来运行其全球的网站网络。
  • 存储桶(Bucket):存储桶是Amazon S3 中用于存储对象的容器。每个对象都存储在一个存储桶中。例如,如果名为 photos/puppy.jpg 的对象存储在 johnsmith 存储桶中,则可使用 URL 对该对象进行寻址。

    http://johnsmith.s3.amazonaws.com/photos/puppy.jpg
    
  • 对象(Object):对象是Amazon S3中存储的实体。

  • 区域(Region):您可以选择一个地理区域,以提供Amazon S3 存储您创建的存储桶。例如“us-east-1”表示美国东部(弗吉尼亚北部)。
  • AWS (Amazon Web Service)账户:所有AWS账户都具有根用户凭证 (即账户所有者凭证)。这些凭证允许完全访问账户中的所有资源。为了保证AWS资源的安全性,一般AWS账户创建多个IAM用户并赋予IAM用户权限来访问AWS资源。
  • IAM(Identity and Access Management)用户:AWS账户可以创建多个IAM用户,通过为IAM用户创建唯一的凭证来定义每个IAM用户具有哪些资源的访问权限。例如,如果您在您的 AWS账户中创建一个IAM用户并向该用户授予创建存储桶的权限,则该IAM用户可以创建存储桶。但是IAM用户不拥有存储桶;用户所属的AWS账户拥有存储桶。用户需要资源拥有者提供其他权限来执行存储桶的任何其他操作。

以上概念的关系如图1所示。

图 1 概念关系图

说明:
概念来源于Amazon相关资料,若需获取更多信息,请查阅https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html

场景描述

向Amazon S3存储桶“test”中存储对象。

前提条件

请获取如下关键信息:

  • 已获取AWS账户分配给IAM用户的访问密钥 ID(Access key ID)和秘密访问密钥(Secret access key)。
  • 已获取Amazon S3服务的区域ID。

    获取方法如下:

    1. 在浏览器地址栏输入https://console.aws.amazon.com/console/home,进入AWS控制台主页登录页面。
    2. 输入AWS账户名、IAM用户和密码进行登录。

      登录后,如图2所示,地址栏网址末尾“us-east-1”即为区域ID。单击“S3”可进入Amazon S3服务界面。

      图 2 AWS控制台首页

  • 已创建存储桶(例如“test”),用于后续存储对象使用。

    创建方法如下:

    1. 登录 AWS 管理控制台并通过以下网址打开Amazon S3控制台:https://console.aws.amazon.com/s3/
    2. 单击“Create bucket”,出现创建存储桶页面。
    3. 在“Bucket name”中输入存储桶名称(命名需保证唯一);在“Region”选择将存储桶放置到的区域。请和 已获取Amazon S3服务的区域ID。的区域保持一致,单击“Create”。

      图 3 设置存储桶名称和区域

配置Connector操作步骤

  1. 在APP开发界面左侧列表单击,选择“连接 > 连接器”。

  2. 在Connectors配置界面中单击“S3”图标,打开Connector列表。

  3. 单击“新建”。
  4. 输入与Amazon S3对接的参数,单击“下一步”。

    图 4 新建Connector

    表 1 新建Connector页面参数说明

    参数

    说明

    名称

    Connector的名称。在Flow中选用Connector时的一个标识。

    示例: s3connector

    访问密钥

    AWS账户分配给IAM用户的访问密钥 ID(Access key ID)。

    密钥

    AWS账户分配给IAM用户的秘密访问密钥(Secret access key

    账号地区

    Amazon S3服务的区域ID。获取方法请参见前提条件中的 已获取Amazon S3服务的区域ID。

    内容分发网络

    CDN服务器的地址。通过该配置,您后续访问上传的静态资源时,可不用登录S3,直接通过CDN访问到静态资源。

    可选配置。

    描述

    Connector的描述信息。

  5. 在“桶”区域选择存储桶,用于存储对象,可选择多个桶,这里选择桶“test”,单击“保存”。

  6. 图5所示,保存后出现该Connector详情页面。单击可编辑该Connector。

    图 5 该Connector详情页面

  7. (可选)创建Connector后,您可进行简单的测试,测试是否能在存储桶上存储对象。

    说明:
    该测试只能上传小于1MB字节的对象。

    1. 在该Connector详情页面单击存储桶所在行的
    2. 单击“单击上传”,选择对象文件,单击“上传”。

      图 6 选择对象

    3. 单击上传好的文件名,进行下载。打开下载的对象存储文件,查看与上传的对象存储文件是否一致。

调用Connector

您可以在业务Flow中调用Connector实现与Amazon S3的对接,这里以新建一个Flow实现对象存储为例进行举例说明。

  1. 鼠标放在APP下的Logic文件夹旁会出现加号,单击加号,选择“流”。
  2. 系统弹出“添加流程”的对话框,选择“创建一个新的流”,填入Flow名称等信息,单击“添加”。
  3. 在Flow编辑器页面左侧选择“连接器 > AWS > S3”,拖拽“S3”图标至画布中,弹出“S3”配置窗口。

    “S3”是系统预置的与Amazon S3对接的存储接口。

  4. 在“基本信息”页面进行配置。

    参数说明如下。

    • 标签:该图元的展示名。
    • 名称:该图元的唯一标识,不能和其他图元相同。
    • 连接器:该Flow使用的Connector的名称。选择刚刚创建的“s3connector”。

  5. 设置调用“S3”参数。

    图 7 配置“S3”

    表 2 “S3”参数说明

    参数

    说明

    动作

    系统预置如下两个动作。

    • View Object:系统预置的查看存储对象接口。
    • Put Object:是系统预置的存储对象接口,用于将系统的对象存储到Amazon S3的存储桶中。

    输入参数

    输入参数。为定义Connector时设置的自定义参数。取值说明如下:

    • “目标”取值为“object”时:请在“源”里配置对象名称。
    • “目标”取值为“data”时:请在“源”里配置对象具体数据。
    • “目标”取值为“bucket”时:请在“源”里配置桶。

    单击“新增行”可进行添加。

    输出参数

    输出参数。“源”从下拉框选择为“result”,“目标”用于接收支付结果,必须定义一个空实例的结构变量来进行接收。

  6. 连接开始和S3图元。

  7. 单击Flow编辑器空白区域,选择,设置Flow出参。将S3图元的输出参数作为整个Flow的输出参数。

  8. 单击,保存Flow。

  9. 单击,运行Flow。
  10. 在Amazon S3控制台单击存储桶名称“test”,查看存储桶中存储的对象列表。

    图8所示,表示对象已存储成功。

    图 8 “test”存储桶中对象列表

results matching ""

    No results matching ""