配置OBS存储功能、新搭建obs

通过应用开发环境与OBS(Object-based Storage Service)对接,实现对象或者Widget资产存储功能。

背景信息

对象存储服务(Object-based Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。

在配置S3存储功能章节我们介绍过如何对接Amazon S3,本节将介绍如何对接OBS。

两者相同点如下:

  • 两者对接的应用场景相同,都是为了实现对象或者Widget资产等的存储功能。
  • 两者在应用开发环境上如何配置Connector的操作步骤相似。

两者差异点如下:

  • 在对接Amazon S3时,您可以在Flow中调用Connector实现对接。
  • 在对接OBS时,您只能通过调用应用开发环境的Rest接口来调用Connector实现对接。

场景描述

向OBS中存储“objectA.txt”文件。

前提条件

请获取如下关键信息:

  • 已获取OBS用户的访问密钥 ID(Access key ID)和秘密访问密钥(Secret access key)。
  • 已获取OBS服务的区域ID。
  • 已在OBS上创建存储桶(例如“bing.testonly.1”),用于后续存储对象使用。

配置Connector操作步骤

  1. 在APP开发界面左侧列表单击,选择“连接 > 连接器”。
  2. 在Connectors配置界面中单击“OBS”图标,打开Connector列表。
  3. 单击“新建”。
  4. 输入与OBS对接的参数,单击“下一步”。图 1 新建Connector

表 1 新建Connector页面参数说明

参数 说明
名称 Connector的名称。示例: TestOBS
访问密钥 OBS用户的访问密钥 ID(Access key ID)。
密钥 OBS用户的秘密访问密钥(Secret access key)。
账号地区 OBS服务的区域ID。
内容分发网络 CDN服务器的地址。通过该配置,您后续访问上传的静态资源时,可不用登录OBS,直接通过CDN访问到静态资源。可选配置。
描述 Connector的描述信息。

5. 选择存储桶,用于选择在OBS上哪个存储桶上进行存储,也可选择多个桶进行存储,这里选择桶“bing.testonly.1”,单击“保存”。

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

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

(1)在该Connector详情页面单击存储桶所在行的

(2)单击“点击上传”,选择对象文件,单击“上传”。

图 2 选择对象

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

调用Connector

1. 调用Rest接口,查询出Connector ID,根据Connector ID,才能调用具体的Connector。其中IP和Port分别是应用开发环境的IP地址和对外服务端口号。

http://IP:Port/u-route/baas/sys/v1.0/connectors?type=obs

该接口用于查询所有创建的OBS类型的Connector的ID。本示例中的查询结果中,找出Connector名称为“TestOBS”的Connector ID为“003W000000FfSV4F5twG”。接下来我们将根据这个ID,调用对接OBS的Connector“TestOBS”。

{
    "resCode": "0",
    "resMsg": "Success",
    "result": [
        {
            "id": "003W000000FfSV4F5twG",
            "name": "TestOBS",
            "type": "obs",
            "createdBy": "10gd000000En2xfeFqQy",
            "createdDate": "2018-04-17 07:23:53",
            "lastModifiedBy": "10gd000000En2xfeFqQy",
            "lastModifiedDate": "2018-04-17 07:33:05",
            "owner": "10gd000000En2xfeFqQy",
            "accessKey": "0ZILHVIXUXXXXXXXXXX",
            "secretKey": "O5ZeitY4dDQlCm4pJf8ow3BcoXXXXXXXXXX",
            "rootRegion": "cn-south-1",
            "buckets": [
                {
                    "name": "bingo.testonly.1",
                    "region": "cn-south-1"
                }
            ],
            "createdBy.name": "Lily",
            "lastModifiedBy.name": "Lily",
            "owner.name": "Lily"
        },
        {
            "id": "003W000000FfSYZ2NIHI",
            "name": "TestB",
            "type": "obs",
            "createdBy": "10gd000000En2xfeFqQy",
            "createdDate": "2018-04-17 07:24:41",
            "lastModifiedBy": "10gd000000En2xfeFqQy",
            "lastModifiedDate": "2018-04-17 07:24:41",
            "owner": "10gd000000En2xfeFqQy",
            "accessKey": "fdas",
            "secretKey": "fdas",
            "rootRegion": "fdsa",
            "buckets": null,
            "createdBy.name": "Lily",
            "lastModifiedBy.name": "Lily",
            "owner.name": "Lily"
        }
    ]
}

2. 通过调用应用开发环境的Rest接口实现与OBS的对接。

Rest接口为:

http://IP:Port/u-route/baas/sys/v1.0/connectors/ConnectorID/action?type=obs&op=action&object=FileName&dir=DirName&bucket=BucketName
参数说明如下:
  • IP:应用开发环境的IP地址。
  • Port:应用开发环境对外提供服务的端口号。
  • ConnectorID:该Connector ID。可通过上一步进行查询。
  • action:具体的动作。如下:listbuckets:列举该存储桶上所有对象文件。putobject:上传对象文件。viewobject:查看对象文件。delobject:删除对象文件。createdir:在存储桶上创建文件目录。listdir:列举该文件目录下所有文件。deldir:删除目录。
  • FileName:待存储到OBS上的文件名,请携带文件类型后缀。可选参数,根据接口动作进行携带。
  • DirName:存储桶上的文件目录名。可选参数,根据接口动作进行携带。
  • BucketName:存储桶名称。可选参数,根据接口动作进行携带。

例如查看存储桶“bingo.testonly.1”上存储对象文件“ObjectA.txt”的Rest接口为:

http://10.136.104.56:21112/u-route/baas/sys/v1.0/connectors/003W000000FfSV4F5twG/action?type=obs&op=viewobject&object=ObjectA.txt&bucket=bingo.testonly.1

猜你喜欢

转载自blog.csdn.net/weixin_64051447/article/details/129854001
obs