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

2016-09-20 11:40:19 +08:00
 chousb

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 是全局唯一的,如果提交已存在的名称,则提示创建失败。

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

2.修改 Bucket 权限

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

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

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

3.创建删除文件夹

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

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

4.文件存储与管理

上传文件

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

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

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

下载文件

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

删除文件

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

复制和剪切文件

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

5.Bucket 监控

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

流量

存储

API

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

二、 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 吧。

2146 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/307470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX