作者:阿里云用户 莫须有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/