V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chousb
V2EX  ›  推广

手把手教你使用 QingStor 对象存储

  •  
  •   chousb · 2016-09-20 11:40:19 +08:00 · 2142 次点击
    这是一个创建于 2985 天前的主题,其中的信息可能已经有所发展或是发生改变。

    QingStor™ 对象存储为用户提供可无限扩展的通用数据存储服务,具有安全可靠、简单易用、高性能、低成本等特点。

    在大量公有云用户多样化的应用场景中, QingStor™ 对象存储在性能(高并发)、可用性、稳定性等方面得到了充分的验证。同时, QingStor™ 对象存储已经在借贷宝、泰康人寿等多套私有云生产环境中部署上线,承担了重要的存储引擎角色,为客户的互联网业务提供强大助力。

    现在 QingCloud 用户可以在控制台选择北京 3 区( PEK3 ),通过图形化界面来创建存储空间( Bucket ) 并上传文件,同时我们推荐大家通过 API 、 SDK 以及命令行工具来管理和使用 QingStorTM 对象存储,下文会有具体介绍。

    PS : QingStorTM 对象存储目前为用户提供 12 个月免费套餐,欢迎注册体验。

    一、控制台图形化操作

    1.创建 Bucket

    用户登录控制台,选择北京 3 区,就可以在 Bucket 列表页点击“新建 Bucket ”按钮,创建一个新的 Bucket 。

    由于 Bucket 名称是 URL 域名的一部分,因此需要遵循标准 URL 域名规范:只包含字母、数字、中划线,以字母开始,以字母或数字结尾。创建时请注意长度范围是 6 - 63 ,另外 Bucket 是全局唯一的,如果提交已存在的名称,则提示创建失败。

    0_1474339826160_upload-7be3f31d-f84f-4629-97bd-f04f0a16b9c4

    注解:新建的 Bucket 是私有的,如果想公开这个 Bucket 的权限,可以在创建后设置。

    2.修改 Bucket 权限

    对象存储的 Bucket 信息、文件访问受到权限控制。在控制台中可以给 Bucket 设置 3 种级别的权限:

    • 私有: 该 Bucket 及其文件相关的所有 API 接口只能被创建者访问,如果想给特定用户赋予 API 接口访问权限,需要创建者调用 PUT Bucket ACL 接口进行设置。

    • 公开只读: 所有人都可以访问 Bucket 及其文件相关的 GET/HEAD 等类型 API 接口。

    • 公开读写: 所有人都可以访问 Bucket 及其文件相关的所有 API 接口。

    0_1474339879900_upload-3e1aaead-bb65-40e8-8ef6-c6ba6c6587b7

    注解:如果想指定特定用户的访问权限,可以调用 ACL 的 POST API 来设置。

    如果一个 Bucket 不再需要,用户可以删除 Bucket 。删除 Bucket 之前,需要首先清空所有的文件和文件夹,且一经删除无法恢复。

    3.创建删除文件夹

    文件夹是特殊的文件,它的名称也是 API 中 URL 的一部分,因此需要遵循 URL 的 pathname 部分的命名规范。

    0_1474339909889_upload-59a648e2-2c73-4f37-97fb-94f992b92fd2

    如果文件夹上传了文件,那么文件夹不能直接删除。用户需要将文件夹中的文件都删除后,再删除文件夹。

    4.文件存储与管理

    上传文件

    用户可以在控制台向一个 Bucket 或一个文件夹上传文件。上传文件时可以单选或多选文件,每次选择文件限制在 10 个。如果要上传的文件名已经存在,上传列表中会提示,上传行为仍然继续,并覆盖已存在的文件。

    上传中的文件显示上传的速度、进度,用户可以取消一个上传中的文件。文件上传完成之后,在列表中保持一段时间后消失。可以在上传列表中右键删除一个文件记录,或者清空所有文件记录。文件上传的过程中,可以关闭上传窗口,再次点击上传文件按钮时,会打开当前上传的文件进度。

    0_1474339942606_upload-f6da654c-61af-458f-85bc-32c32822664c

    注解:控制台限制了上传单个文件的大小,超过 1GB 的文件,建议使用 API 或 SDK 来上传。

    下载文件

    用户可以在控制台下载文件,无论文件所属的 Bucket 是私有还是公开访问的。如果 Bucket 公开了读权限,用户可以从控制台得到文件可访问的 URL ,并将 URL 分享给其他人。如果在控制台下载文件,完成下载后,文件保存在浏览器设置的下载保存目录。用户也可以通过 API 或 SDK 下载文件,具体办法请点击阅读原文。

    0_1474339969505_upload-3fa2669c-8e9e-4ab9-ba2b-5ac3d230ae0c

    删除文件

    与删除文件夹类似,删除文件后无法恢复,因此需要谨慎执行该操作。文件可以批量删除,选择多个文件,在更多操作中选择删除即可。

    0_1474339991672_upload-25d794e2-82a5-4598-b171-35c4180bcf18

    复制和剪切文件

    • 单个文件的复制和剪切: 右键点击文件,选择复制或剪切,移动到目标 Bucket 或者文件夹下,在更多操作中选择粘贴。

    • 多个文件的复制和剪切: 勾选要复制或者剪切的文件,在更多操作中选择复制或者剪切,移动到目标 Bucket 或者文件夹下,在更多操作中选择粘贴。

    注解:暂时不支持文件夹的复制和剪切。复制操作可以执行多次,剪切操作只能执行一次。复制和剪切都会覆盖目标路径下的同名文件。

    5.Bucket 监控

    Bucket 的监控项分为 3 大类:流量、存储、 API ,每一类的监控内容说明如下:

    流量

    • 外网出流量:从公网下载 Bucket 中的文件所产生的流量。

    • 外网进流量:从公网上传文件到 Bucket 所产生的流量。

    • Zone 内出流量:从青云平台与 Bucket 相同区域的资源下载 Bucket 文件所产生的流量。

    • Zone 内进流量:从青云平台与 Bucket 相同区域上传文件到 Bucket 所产生的流量。

    存储

    • 存储空间: Bucket 所有文件占用的存储空间大小。

    API

    • 外网读请求:从公网调用该 Bucket 读相关的 API 的次数,如 HEAD/GET 。

    • 外网写请求:从公网调用该 Bucket 写相关的 API 的次数,如 PUT/DELETE 。

    • Zone 内读请求:从青云平台与 Bucket 相同区域调用该 Bucket 读相关的 API 的次数。

    • Zone 内写请求:从青云平台与 Bucket 相同区域用该 Bucket 写相关的 API 的次数。

    每类监控项可分别查询最近一天、最近一个月、最近 6 个月的监控信息。用曲线图来展示时间区间内的变化值,并将监控点的具体数值呈现在表格中。监控项可以在页面右侧选择切换。

    0_1474340103983_upload-05bca819-fec4-42f8-a7f0-527e0bcd2d25

    二、 QingCloud SDK 操作

    QingStor™ SDK Python 包含在 QingCloud SDK Python 之中,使用 qingcloud-sdk 前请先在控制台申请 access key ,申请后便可以自由使用了。

    建立连接

    发起请求前首先建立连接:

    >>> import qingcloud.qingstor
    >>> conn = qingcloud.qingstor.connect('pek3a.qingstor.com',  'access key id', 'secret access key')
    

    上面代码中得到的 conn 是 QSConnection 的实例,在接下来的教程中会继续用它创建 Bucket 对象和初始化 multipart 上传。

    创建存储空间

    创建存储空间, 需要指定空间名称:

    >>> bucket = conn.create_bucket('mybucket')
    

    此时得到的 Bucket 实例将被后续用来创建 key 对象,用以操作存储空间中的对象。

    创建对象

    使用 Bucket 实例创建一个 Object 对象:

    >>> key = bucket.new_key('myobject')
    

    此时得到的 key 实例代表一个对象,我们接下来将用它上传一个文件到存储空间。

    >>> with open('/tmp/myfile') as f:
    >>> key.send_file(f)
    

    删除对象

    删除存储空间中的对象:

    >>> bucket.delete_key('myobject')
    

    三、 QingCloud CLI 操作

    QingStor™ 对象存储命令行工具 (Command Line Interface) 是与 QingStor™ 对象存储服务交互的命令行接口,通过命令行可以完成和使用对象存储 API 一样的操作。

    注解:使用 qingcloud-cli 必需一个配置文件,配置自身的 qy_access_key_id 和 qy_secret_access_key 以及 zone 。比如:

     >>>qy_access_key_id: 'QINGCLOUDACCESSKEYID' 
     >>>qy_secret_access_key: 'QINGCLOUDSECRETACCESSKEYEXAMPLE'
     >>>zone: 'pek3a'
    

    配置文件默认放在 ~/.qingcloud/config.yaml ,也可在每次执行命令时以参数 -f /path/to/config 方式来指定。

    使用 QingCloud CLI 操作 QingStor™ 对象存储非常简单,创建 /删除 Bucket 可以使用:

     >>> qingcloud qs create-bucket <bucket_name>
     >>> qingcloud qs delete-bucket <bucket_name>
    

    PS : QingStorTM 对象存储目前为用户提供 12 个月免费套餐,欢迎大家注册体验。

    点击链接创建你的第一个 QingStor Bucket 吧。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.