玩转云存储,QingStor™ 对象存储使用技巧分享

百家 作者:QingCloud 2018-03-27 13:38:52

随着移动互联网、物联网的高速发展,我们获取的数据比以往任何时候都要多,大数据在社会、政治和商业等各个领域逐渐显示出威力,没有任何一个个人和企业能够逃过这个数据时代,因此数据的存储、分析、处理、对企业的决策支持变得格外重要。


QingStor™ 对象存储作为海量数据存储池,为用户提供可无限扩展的通用数据存储服务,具有安全可靠、简单易用、高性能、低成本等特点,同时还会与 QingCloud 平台上的计算资源紧密整合,从而实现高性能、低成本的数据分析与挖掘,提升企业数据价值。 


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


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


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


方式一:控制台图形化操作


创建 Bucket


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


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


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


修改 Bucket 权限


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


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

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

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


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


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


创建删除文件夹


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



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


文件存储与管理


  • 上传文件

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


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


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


  • 下载文件

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




  • 删除文件

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



复制和剪切文件

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


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


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


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,可以利用它来快速便捷地接入对象存储服务,使用 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

pip install qsctl -U"],[20,"n","36:0"],[20,"如没有安装 virtualenv:"],[20,"n","linespacing:"200""],[20,"> sudo pip install qsctl -U"],[20,"n","36:0"],[20,"在 Windows 上,请使用管理员权限打开命令行窗口,运行以上命令(忽略 sudo )。"],[20,"n","linespacing:"200""],[20,"快速开始"],[20,"n","32:2|linespacing:"115""],[20,"使用 qsctl 必需有一个配置文件,用来配置你自己的 "],[20,"access_key_id","31:1"],[20," 和 "],[20,"secret_access_key","31:1"],[20," 。比如:"],[20,"n","linespacing:"200""],[20,"access_key_id: 'ACCESS_KEY_ID_EXAMPLE'"],[20,"n","36:0"],[20,"secret_access_key: 'SECRET_ACCESS_KEY_EXAMPLE'"],[20,"n","36:0"],[20,"access key 可在 "],[20,"青云控制台","0:"%2300a870"|16:"https%3A%2F%2Fconsole.qingcloud.com%2Faccess_keys%2F""],[20," 申请。"],[20,"n","linespacing:"200""],[20,"配置文件默认放在 "],[20,"~/.qingstor/config.yaml","31:1"],[20," ,也可在每次执行命令时以参数 "],[20,"-c /path/to/config","31:1"],[20," 方式来指定,例如:"],[20,"n","linespacing:"200""],[20,"> qsctl ls qs://mybucket -c '/root/qingstor_config.yaml'"],[20,"n","36:0"],[20,"命令列表"]]">

方式四:QingCloud 命令行工具 —— qsctl


qsctl 是青云对象存储服务的高级命令行工具。它提供了更强大的类 UNIX 命令,使管理对象存储的资源变得像管理本地资源一样方便。这些命令包括:cp,ls,mb,mv,rb,rm, sync 和 presign。所有 qsctl 的命令都支持批量操作。


安装


qsctl 可以通过 pip 进行安装:



如没有安装 virtualenv:

在 Windows 上,请使用管理员权限打开命令行窗口,运行以上命令(忽略 sudo)。


快速开始


使用 qsctl 必需有一个配置文件,用来配置 access_key_id 和 secret_access_key 。比如:


注:access key 可在青云控制台申请。


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



命令列表

qsctl 支持的操作命令


ls

列出所有的存储空间,或给定存储空间给定前缀下的所有对象

cp

复制本地文件到 QingStor™ 存储空间,或复制 QingStor™ 对象到本地

mb

创建一个新的存储空间

rb

删除一个空的存储空间,或强制删除一个非空的存储空间

mv

移动本地文件到 QingStor™ 存储空间,或移动 QingStor™ 对象到本地

rm

删除一个 QingStor™ 对象或给定前缀下的所有对象

sync

在本地目录和 QingStor™ 目录之间同步

presign

生成指定对象的临时下载链接


方式五:QingCloud 挂载盘




QingStor™ 对象存储本地盘 for Windows(又名 ElasticDrive)是 Windows 平台上访问 QingStor™ 对象存储的客户端软件,下载 ElasticDrive 安装包,解压缩后直接运行安装完成即可。



如上图所示,ElasticDrive 通过登录操作挂载到 QingStor™ 中的某个 Bucket,挂载成功后即可像操作本地磁盘(C 盘、D 盘等等)一样对该 Bucket 中的文件进行读写、存取等操作,同时可通过托盘菜单对 ElasticDrive 的退出、缓存设置、版本更新、帐户信息等进行查看或操作。


QingStor™ 对象存储本地盘 for Linux


QingStor™ 对象存储本地盘 for Linux(又名 qsfs)是 Linux 平台上的挂载工具,基于 FUSE 的文件系统,允许 Linux 将 QingStor™ 对象存储存储空间挂载成本地目录,可以像操作本地目录一样方便、快捷地访问或存取 QingStor™ 对象存储存储空间中的各常用类型文件。


目前 qsfs 已在 GitHub 开源,地址:

https://github.com/yunify/qsfs-fuse, 使用时可以直接访问该项目,下载安装包,具体安装步骤如下:


配置访问密钥


使用 qsfs,需要有一个配置文件来设置你的访问密钥 (注意需要设置密钥文件的权限为 600)


注意:请不要遗忘中间的冒号分隔符


挂载 Bucket 到本地目录



测试文件系统操作



配置开机自动挂载 qsfs


第一步,在 /etc/fstab 文件中添加以下命令行并保存:


注意:在第四项设置 qsfs 挂载选项时需要使用短选项格式,例如 -c 而不是 --credentials ,若使用默认值则可不必在命令行中再次设置该选项


第二步,执行以下命令配置开机挂载 qsfs:



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


点击阅读原文

创建你的第一个 QingStor™ Bucket


- FIN -


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接