欢迎来到天天文库
浏览记录
ID:35885569
大小:238.67 KB
页数:99页
时间:2019-04-22
《阿里云-归档存储-SDK手册-D》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、归档存储SDK使用手册归档存储/SDK使用手册SDK使用手册Python概述在使用PythonSDK或阅读本手册之前,请务必先阅读《OASAPI参考手册》(以下简称API手册)第一章基本概念和第二章功能简介,了解Vault、Archive、MupltipartUpload、Job等基础概念以及所支持的操作,这部分内容本手册将不再详述。PythonSDK开发包包括oascmd和SDK两个部分,oascmd通过一些简单的命令,无需任何额外的开发工作,即可满足基本的归档存储使用需求,oascmd的使用方法请移步OAS命令行工具。有更
2、高开发需求的用户请继续向下了解SDK部分。PythonSDK接口分为两种形态,分别为低级接口和高级接口。其中,低级接口置于oas模块内,高级接口置于oas.ease模块内。低级接口低级接口封装了归档存储服务的签名验证,以及HTTP头部和URL生成。低级接口是归档存储RESTful接口的直接映射,每一个RESTful接口均对应于低级接口的一个方法。每个低级接口返回HTTPResponse原始对象,用户须根据API手册的说明进行解析。在oascmd中,通过命令行参数,用户即可以方便地调用每一个低级接口。高级接口为了简化用户的开发流
3、程,缩短学习曲线,SDK在低级接口的基础上提供更抽象的高级接口。高级接口在低级接口的基础上,进一步封装了校验码生成、自动重试、断点续传等高级功能。用户在使用过程中不需要关心高级接口内部实际调用的是哪个RESTful接口,只需按照所需的业务类型调用接口即可,如上传、查询等。使用建议建议用户使用高级接口,这样会使得用户的程序逻辑更加简明。但当所需功能没有被包含在高级接口内时,建议用户参考高级接口的实现,在其基础上增加相应的定制功能,同时,欢迎用户把相关需求反映给归档存储开发团队,对于合理的需求,会在接下来的版本中得到实现。若用户需
4、要更细粒度的操作,则可直接调用低级接口,根据实际使用场景进行封装。98邮件推送/SMTP接口说明Demo程序参考《最佳实践-Python》。高级接口高级接口中的所有方法均为阻塞操作,在操作没有完成之前不会返回。所有接口都可能会抛出两种异常,分别为OASServerError和OASClientError,具体描述请参阅Exceptions一节。importloggingimportsyshandler=logging.StreamHandler(sys.stdout)handler.setFormatter(logging.F
5、ormatter('%(asctime)s%(message)s'))handler.setLevel(logging.INFO)log=logging.getLogger('oas.ease.uploader')log.addHandler(handler)log.setLevel(logging.INFO)高级接口使用Python内置模块logging输出日志,用户可根据实际需要自由配置日志输出,以下例子是输出INFO级别日志到标准输出的简单配置。Vault类Vault是用户所有操作的入口点。要实例化Vault对象,需要通
6、过Vault的类方法,其中create_vault、get_vault_by_id和get_vault_by_name是简单工厂方法,返回Vault对象,list_all_vaults返回Vaultlist。这些类方法都需要以OASAPI对象作为参数(参见低级接口概述部分)。对于上传操作,可以直接调用成员方法upload_archive,接口内部会根据文件大小自动选择NormalUpload或MultipartUpload方式,并实现了多线程并行上传和失败重试。对于MultipartUpload任务,用户也可调用成员方法ini
7、tiate_uploader获得Uploader对象再进行上传(参见Uploader一节)。使用后一种方法,用户可获得时机保存MultipartUpload的任务ID,若任务没有成功完成,可在之后调用成员方法recover_uploader传入任务ID进行续传。用户应根据业务需要选择合适的方法。对于下载操作,可调用成员方法retrieve_inventory或retrieve_archive获得Job对象再进行下载(参见Job一节)。下面按照功能分组,介绍Vault的接口。成员变量Vault对象包含了Vault的JSON描述中
8、的所有字段,其中JSON标签与变量之间的转换关系如下表所示,各个字98邮件推送/SMTP接口说明段的具体含义请参考API文档4.1.3一节的返回体部分。JSON标签变量名类型CreationDatecreation_datestringLastInventoryDatelas
此文档下载收益归作者所有