【阿里云产品公测】离线归档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]')
 
 
2.4 分块上传 
 
 
未完,待续! 
 
2.5 底层接口 
 
 
未完,待续! 
 
3 疑问 
 
 
1.归档离线备份,现在磁盘都是白菜价了,企业完全可以自己购买备份归档,OAS有哪些优势可以让企业选择它呢? 
 
 
2.当前硬件不断升级,必然长期出现新设备取代旧设备,也就带来数据迁移,这块如何保证数据的完整性?哪天企业要是需要使用离线备份来救命时,取到错误数据,那真恐怖了,(-__-)b ~~ 
 
 
3.OAS能做的OSS都可以实现了,目前唯一看到的OAS特点是,取数据时,需等待4小时左右的Job任务。想必,价格要比OSS低很多才行,应该要接近免费阶段了。 


原文地址:http://bbs.aliyun.com/read/179027.html
参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/

 

posted @ 2014-10-28 14:49  阿里云官方博客  阅读(608)  评论(0编辑  收藏  举报