资讯专栏INFORMATION COLUMN

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

546669204 / 800人阅读

摘要:在大量公有云用户多样化的应用场景中,对象存储在性能高并发可用性稳定性等方面得到了充分的验证。对象存储目前为用户提供个月免费套餐,欢迎注册体验。修改权限对象存储的信息文件访问受到权限控制。

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 种级别的权限:

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

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

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

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

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

3.创建删除文件夹

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

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

4.文件存储与管理 上传文件

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

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

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

下载文件

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

删除文件

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

复制和剪切文件

单个文件的复制和剪切: 右键点击文件,选择复制或剪切,移动到目标 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 个月的监控信息。用曲线图来展示时间区间内的变化值,并将监控点的具体数值呈现在表格中。监控项可以在页面右侧选择切换。

二、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 
 >>> qingcloud qs delete-bucket 

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25168.html

相关文章

  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    only_do 评论0 收藏0
  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    qc1iu 评论0 收藏0
  • 自动化代码生成工具 Snips 开发实践

    摘要:今天我来和大家分享一下以及自动化生成工具的开发经验。代码生成工具接着讲讲代码生成工具,对于来讲,有官方的代码生成器,还有其他的同类开源项目比如。现有的代码生成器没有可以开箱即用的,都需要去进行不少的修改。 前言 在开发工作中,经常会遇到新产品、服务上线后,需要将其 API 编写不同语言的 SDK。但不同语言 SDK 中都有很大一部分内容是用来进行 API 的描述,而且这部分代码量是最大...

    pepperwang 评论0 收藏0
  • 把手教你写电商爬虫-第五课 京东商品评论爬虫 一起来对付反爬虫

    摘要:和前面几节课类似的分析这节课就不做了,对于分页,请求什么的,大家可以直接参考前面的四节课,这一刻主要特别的是,我们在采集商品的同时,会将京东的商品评价采集下来。 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取 手把手教你写电商爬虫-第四课 淘宝网商品爬...

    jsummer 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<