首页 > 代码库 > 【阿里云产品公测】离线归档OAS,再也不用担心备份空间了

【阿里云产品公测】离线归档OAS,再也不用担心备份空间了

【阿里云产品公测】离线归档OAS,再也不用担心备份空间了

作者:阿里云用户莫须有3i

1 起步 
 
1.1 初识OAS 
 啥是OAS,请看官方说明: 

引用:

开放归档服务(Open Archive Service,简称OAS),致力于提供低成本、高可靠的数据归档服务,适合于大数据的长久归档备份。

低成本、高可靠,长久归档备份,这是它的特色。 
 
1.2 申请开通 
当前还处于公测阶段,需要申请,试用期间,免费试用,每个用户可以存储不超过10T的数据,并且文件数量不超过10万个,大伙有什么超大文件,没地方放的,可以考虑考虑喔,不过对于文件唤起要一段时间,哪怕是刚上传还是1KB的文件。 
 
1.3 接口与SDK 

引用:

提供完整API,所有功能都可以通过API接口完成,便于用户的程序化实现。同时提供了多语言SDK。

官方说有提供多语言SDK,但我只看到Python版本的可供下载,难道忘记上传了,哈哈,大伙赶紧帮忙封装些: 
 
Python 手册与SDK下载: 

复制代码

  1. http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_帮助手册_140910.pdf

  2. http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_0.1.7.zip


安装方法: 

复制代码

  1. pip install oassdk 或 pip install --upgrade oassdk

 
API文档下载: 

复制代码

  1. http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS-API-Reference-Full-v0.1.24.pdf


不过提供的restful api文档看起来比较舒服,个人感觉比OSS的api手册好,可能是比较晚出来,编辑的比较好吧~~(●’?’●)。 
 
2 实践 

2.1 准备知识 
下载SDK后,可以根据《OAS_Python_SDK_帮助手册_140910.pdf》进行操作,或者能力比较强爱折腾的,也可以根据reset api通过其他语言的开发。 

引用

在使用 Python SDK 或阅读本手册之前,请务必先阅读《OAS API 参考手册》


自帮助手册的第一句话,看到这,马上想到:欲练此功,必先自宫。使用前还是先去恶补下必备知识,对 Vault、Archive、Mupltipart Upload、Job 等基础概念的了解。 
 
简单归纳如下: 

引用

Vault 是 OAS 提供给用户用于管理 Archive 的目录,也是计费、权限控制等功能的管理单位,它在每个用户的每个区域(杭州、青岛、北京、香港)下唯一,每个用户在每个区域 最多可以自建 10 个,每个 Vault 里可以包含任意数量的 Archive。   
用户操作的基本数据单元是 Archive,它需要包含在 Vault中,它可以是任意类型的数据,上传 Archive时,文档大小限制在 6GB,如果大小超出 6GB,请使用 分块上传方式,使用分块上传最大可以上传 1000*10GB 的文档,不仅如此,多段上传还支持独立、任意顺序、甚至并行上传这些段,如果某段上传失败,只需要重新上传该段即可。


SDK包含低级接口与高级接口: 

引用

低级接口是 OAS RESTful 接口的直接映射,每一个 RESTful 接口均对应于低级  
接口的一个方法。 
高级接口在低级接口的基础上,进一步封装了校验码生成、自  
动重试、断点续传等高级功能。用户在使用过程中不需要关心高级接口内部实际  
调用的是哪个 RESTful 接口,只需按照所需的业务类型调用接口即可,如上传、  
查询等。

低级接口更底层,高级更友好,要不是闲的没事干就不要用低级接口了~~ 
 
2.2 运行环境 

引用

OAS Python SDK 要求的运行环境是 Python 2.7(含)以上,3.0 以下。

对于Python版本要2.7以上,3.0以下!!注意!!,2.6的不可使用,意味着Centos6以及以下版本,通过Yum安装的,都不能直接使用喔,LZ中招,需自行安装Python2.7。 
 
版本查看方法:

复制代码

 

  1. python --version

 
Python与OAS SDK安装: 

复制代码

  1. mkdir /tmp/aliyun

  2. cd /tmp/aliyun

  3. wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

  4. tar xzvf Python-2.7.8.tgzcd Python-2.7.8

  5. ./configure

  6. make && make install

  7. # 至此,python 2.7 安装完成,可通过命令( python2.7 --version )来验证

  8.  

  9.  

  10. # 安装OAS SDK

  11. cd /tmp/aliyun

  12. wget http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_0.1.7.zip

  13. unzip OAS_Python_SDK_0.1.7.zip

  14.  

  15.  

  16. # 依赖包,就simplejson与pyaml两个

  17. pip install -r requirements.txt

  18.  

  19.  

  20. # 或,自行下载安装依赖组建

  21. #wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.4.tar.gz

  22. #wget http://pyyaml.org/download/pyyaml/PyYAML-3.11.tar.gz

  23.  

  24. python2.7 setup.py install

 
请进行安装验证,如图,无报错则继续 

 大功告成。 
 
2.3 简单示例 
 
2.3.1 获取OAS连接 
 

复制代码

  1. from oas.oas_api import OASAPI

  2. from oas.ease.vault import Vault

  3.  

  4.  

  5. accessKeyId = "xxxxxxxxxxxxxxxx"

  6. accessKeySecret = "ooooooooooooooooooo"

  7. serverHost = "cn-hangzhou.oas-internal.aliyuncs.com"

  8.  

  9.  

  10. # 创建 OASAPI 对象

  11. api = OASAPI(serverHost, accessKeyId, accessKeySecret)


通过这里获取accessKeyId与accessKeySecret:

复制代码

  1. https://i.aliyun.com/access_key/

 
通信服务地址,serverHost的由来: 

引用

2.1.1 服务地址  
OAS API 的服务接入地址为:  
公网:RegionName.oas.aliyuncs.com  
内网:RegionName.oas-internal.aliyuncs.com  
其中,RegionName 为: cn-hangzhou、cn-qingdao、cn-beijing、cn-hongkong 等。现  
阶段只开放 cn-hangzhou。


哥,自豪的使用ECS,当然就走内外地址了,既:cn-hangzhou.oas-internal.aliyuncs.com 
 
2.3.2 建立Vault 
 

复制代码

  1. ...

  2. 请复制上 #获取OAS连接 代码

  3. ...

  4.  

  5.  

  6. # 待创建Vault的名称

  7. vaultName="henji_org"

  8.  

  9.  

  10. # 创建 Vaultvault = Vault.create_vault(api, vaultName)


运行:[root@cloud-1 aliyun]# python2.7 create_vault.py 
 
此时,管理界面出现新建立的Vault了,如: 

PS,当前web界面没啥功能,只能新建Vault。 
 
2.3.3 查找Vault 
 

复制代码

  1. ...

  2. 请复制上 #获取OAS连接 代码

  3. ...

  4.  

  5.  

  6. # 待查找Vault的名称

  7. vaultName="henji_org"

  8.  

  9.  

  10. # 根据名称获取 Vault 对象

  11. vault = Vault.get_vault_by_name(api, vaultName)

  12. # 或者,根据 valutID 获取 Vault 对象

  13. #vault = Vault.get_vault_by_id(api, vaultId)


2.3.4 增、删、改、查 Archive 
以下片段代码片段都基于 #查找Vault 下: 

上传Archive: 

复制代码

  1. file_path = "/etc/passwd"

  2. archive_id = vault.upload_archive(file_path)

 
获取Archive 列表: 

复制代码

  1. file_path = "/etc/passwd"

  2. job = vault.retrieve_inventory()

  3. job.download_to_file(‘[File Path]‘)


下载Archive: 

复制代码

  1. archive_id = ""

  2. file_path = "/tmp/aliyun/download.txt"

  3. job = vault.retrieve_archive(archive_id)job.download_to_file(file_path) 



删除Archive: 

复制代码

  1. vault.delete_archive(‘[Archive ID]‘)

  
3 疑问 
1.归档离线备份,现在磁盘都是白菜价了,企业完全可以自己购买备份归档,OAS有哪些优势可以让企业选择它呢? 
2.当前硬件不断升级,必然长期出现新设备取代旧设备,也就带来数据迁移,这块如何保证数据的完整性?
3.OAS能做的OSS都可以实现了,目前唯一看到的OAS特点是,取数据时,需等待4小时左右的Job任务。想必,价格要比OSS低很多才行,应该要接近免费阶段了。 

(OAS答复:存储的低成本和数据安全性真是OAS最根本的品质,提供了99.99999999%的数据可靠性。公测期间,每个用户可以存储不超过10T的数据。)

 

微博互动:http://weibo.com/1644971875/BrlU9CYNQ

参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/ 

【阿里云产品公测】离线归档OAS,再也不用担心备份空间了