阿里云OSS(对象存储服务)sdk
oss2r的Python项目详细描述
概述
阿里云对象存储Python SDK 2.x版本。该版本不和上一个版本(0.x版本)兼容,包的名称为oss2,以避免和先前的版本冲突。
该版本的SDK依赖于第三方HTTP库 requests 以及 crcmod。 请按照下述安装方法进行安装。
Note
该版本不包含 osscmd 命令行工具
安装方法
通过pip安装官方发布的版本(以Linux系统为例):
$ pip install oss2
也可以直接安装解压后的安装包:
$ sudo python setup.py install
快速使用
# -*- coding: utf-8 -*-importoss2endpoint='http://oss-cn-hangzhou.aliyuncs.com'# 假设你的Bucket处于杭州区域auth=oss2.Auth('<你的AccessKeyId>','<你的AccessKeySecret>')bucket=oss2.Bucket(auth,endpoint,'<你的Bucket名>')# Bucket中的文件名(key)为story.txtkey='story.txt'# 上传bucket.put_object(key,'Ali Baba is a happy youth.')# 下载bucket.get_object(key).read()# 删除bucket.delete_object(key)# 遍历Bucket里所有文件forobject_infoinoss2.ObjectIterator(bucket):print(object_info.key)
更多例子请参考examples目录下的代码。
出错处理
除非特别说明,一旦出错,Python SDK的接口就会抛出异常(见oss2.exceptions子模块)。参考下面的例子:
try:result=bucket.get_object(key)print(result.read())exceptoss2.exceptions.NoSuchKeyase:print('{0} not found: http_status={1}, request_id={2}'.format(key,e.status,e.request_id))
测试
首先通过环境变量来设置测试所需的AccessKeyId、AccessKeySecret、Endpoint以及Bucket信息(请不要使用生产环境的Bucket)。 以Linux系统为例:
$ exportOSS_TEST_ACCESS_KEY_ID=<AccessKeyId> $ exportOSS_TEST_ACCESS_KEY_SECRET=<AccessKeySecret> $ exportOSS_TEST_ENDPOINT=<endpoint> $ exportOSS_TEST_BUCKET=<bucket> $ exportOSS_TEST_STS_ID=<AccessKeyId for testing STS> $ exportOSS_TEST_STS_KEY=<AccessKeySecret for testing STS> $ exportOSS_TEST_STS_ARN=<Role ARN for testing STS>
然后通过以下方式运行测试:
$ nosetests # 请先安装nose
联系我们
- 阿里云OSS官方网站
- 阿里云OSS官方论坛
- 阿里云OSS官方文档中心
- 阿里云官方技术支持:提交工单
代码许可
MIT许可证,参见LICENSE文件。