阿里云OSS(对象存储服务)sdk

oss2的Python项目详细描述


https://badge.fury.io/py/oss2.svghttps://travis-ci.org/aliyun/aliyun-oss-python-sdk.svg?branch=masterhttps://coveralls.io/repos/github/aliyun/aliyun-oss-python-sdk/badge.svg?branch=master

中文自述<;https://github.com/aliyun/aliyun oss python sdk/blob/master/readme-cn.rst>;

概述

阿里云对象存储python sdk 2.x,此版本与前一版本(0.x版本)不兼容。包名为oss2以避免与以前的版本冲突。

此版本的sdk依赖于第三方http库requestscrcmod。按照以下方法安装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

许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java hql中的新关键字是如何工作的?   java将十六进制转换为INT 32和字符串Little Endian   java无法通过jdbc从sql表中获取数据   java RelaxNG:在jar中合并语法   java如何向vaadin网站添加javascript插件   java如何读取没有大括号的循环?   用Java解析地址解析器   java使用mavenshadeplugin排除路径   java无法使用spring安全性进行身份验证。输入凭据后   java从输入读取字符   java Elasticsearch因NoNodeAvailableException失败   java将图像匿名上传到Imgur   没有internet连接时的java SocketException   java如何以正确的方式关闭socket?   java ListView删除下面的按钮   在eclipse中运行junit testcase时发生java错误   java Android聊天在DataSnapshot上崩溃。用于时间戳的getValue()   获取java。文本ParseException:不可解析日期:“2020116135151”   使用模型属性应用角色的JavaSpring安全性