阿里云OSS(对象存储服务)sdk
oss2的Python项目详细描述
中文自述<;https://github.com/aliyun/aliyun oss python sdk/blob/master/readme-cn.rst>;
概述
阿里云对象存储python sdk 2.x,此版本与前一版本(0.x版本)不兼容。包名为oss2以避免与以前的版本冲突。
此版本的sdk依赖于第三方http库requests和crcmod。按照以下方法安装sdk。
注意:
This version does not contain the osscmd command line tool.
运行环境
python 2.6(不推荐)、2.7、3.3(不推荐)、3.4、3.5、3.6
- 注意:
- 不建议使用Python2.6,因为Python核心团队不再支持它。 不要使用Python3.3.0或3.3.1。请参阅Python Issue 16658。
安装
通过pip安装正式版本(以linux为例):
$ pip install oss2
您也可以直接安装解压缩的安装程序包:
$ sudo python setup.py install
开始
# -*- coding: utf-8 -*-importoss2endpoint='http://oss-cn-hangzhou.aliyuncs.com'# Suppose that your bucket is in the Hangzhou region.auth=oss2.Auth('<Your AccessKeyID>','<Your AccessKeySecret>')bucket=oss2.Bucket(auth,endpoint,'<your bucket name>')# The object key in the bucket is story.txtkey='story.txt'# Uploadbucket.put_object(key,'Ali Baba is a happy youth.')# Downloadbucket.get_object(key).read()# Deletebucket.delete_object(key)# Traverse all objects in the bucketforobject_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))
设置日志记录
- 下面的代码可以设置“oss2”的日志级别。
importlogginglogging.getLogger('oss2').setLevel(logging.WARNING)
测试
首先通过环境变量设置测试所需的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 # First install nose
您可以将环境变量设置为test auth v2:
$ exportOSS_TEST_AUTH_VERSION=v2
联系我们
许可证
- MIT。