【阿里云产品公测】离线归档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下载:
- http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_帮助手册_140910.pdf
- http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_0.1.7.zip
安装方法:
- pip install oassdk 或 pip install --upgrade oassdk
API文档下载:
- 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。
版本查看方法:
- python --version
Python与OAS SDK安装:
- mkdir /tmp/aliyun
- cd /tmp/aliyun
- wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
- tar xzvf Python-2.7.8.tgzcd Python-2.7.8
- ./configure
- make && make install
- # 至此,python 2.7 安装完成,可通过命令( python2.7 --version )来验证
- # 安装OAS SDK
- cd /tmp/aliyun
- wget http://imgs-storage.cdn.aliyuncs.com/help/oas/OAS_Python_SDK_0.1.7.zip
- unzip OAS_Python_SDK_0.1.7.zip
- # 依赖包,就simplejson与pyaml两个
- pip install -r requirements.txt
- # 或,自行下载安装依赖组建
- #wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.4.tar.gz
- #wget http://pyyaml.org/download/pyyaml/PyYAML-3.11.tar.gz
- python2.7 setup.py install
请进行安装验证,如图,无报错则继续
大功告成。
2.3 简单示例
2.3.1 获取OAS连接
- from oas.oas_api import OASAPI
- from oas.ease.vault import Vault
- accessKeyId = "xxxxxxxxxxxxxxxx"
- accessKeySecret = "ooooooooooooooooooo"
- serverHost = "cn-hangzhou.oas-internal.aliyuncs.com"
- # 创建 OASAPI 对象
- api = OASAPI(serverHost, accessKeyId, accessKeySecret)
通过这里获取accessKeyId与accessKeySecret:
- 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
- ...
- 请复制上 #获取OAS连接 代码
- ...
- # 待创建Vault的名称
- vaultName="henji_org"
- # 创建 Vaultvault = Vault.create_vault(api, vaultName)
运行:[[email protected] aliyun]# python2.7 create_vault.py
此时,管理界面出现新建立的Vault了,如:
PS,当前web界面没啥功能,只能新建Vault。
2.3.3 查找Vault
- ...
- 请复制上 #获取OAS连接 代码
- ...
- # 待查找Vault的名称
- vaultName="henji_org"
- # 根据名称获取 Vault 对象
- vault = Vault.get_vault_by_name(api, vaultName)
- # 或者,根据 valutID 获取 Vault 对象
- #vault = Vault.get_vault_by_id(api, vaultId)
2.3.4 增、删、改、查 Archive
以下片段代码片段都基于 #查找Vault 下:
上传Archive:
- file_path = "/etc/passwd"
- archive_id = vault.upload_archive(file_path)
获取Archive 列表:
- file_path = "/etc/passwd"
- job = vault.retrieve_inventory()
- job.download_to_file(‘[File Path]‘)
下载Archive:
- archive_id = ""
- file_path = "/tmp/aliyun/download.txt"
- job = vault.retrieve_archive(archive_id)job.download_to_file(file_path)
删除Archive:
- vault.delete_archive(‘[Archive ID]‘)
3 疑问
1.归档离线备份,现在磁盘都是白菜价了,企业完全可以自己购买备份归档,OAS有哪些优势可以让企业选择它呢?
2.当前硬件不断升级,必然长期出现新设备取代旧设备,也就带来数据迁移,这块如何保证数据的完整性?
3.OAS能做的OSS都可以实现了,目前唯一看到的OAS特点是,取数据时,需等待4小时左右的Job任务。想必,价格要比OSS低很多才行,应该要接近免费阶段了。
(OAS答复:存储的低成本和数据安全性真是OAS最根本的品质,提供了99.99999999%的数据可靠性。公测期间,每个用户可以存储不超过10T的数据。)
原文地址:http://bbs.aliyun.com/read/179027.html
微博互动:http://weibo.com/1644971875/BrlU9CYNQ
参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/