Package: pw-oss2
Alibaba Cloud OSS SDK for Python================================.. image:: https://badge.fury.io/py/oss2.svg:target: https://badge.fury.io/py/oss2.. image:: https://travis-ci.org/aliyun/aliyun-oss-python-sdk.svg?branch=master:target: https://travis-ci.org/aliyun/aliyun-oss-python-sdk.. image:: https://coveralls.io/repos/github/aliyun/aliyun-oss-python-sdk/badge.svg?branch=master:target: https://coveralls.io/github/aliyun/aliyun-oss-python-sdk?branch=master`README of Chinese <https://github.com/aliyun/aliyun-oss-python-sdk/blob/master/README-CN.rst>`_------------------Overview--------Alibaba Cloud Object Storage Python SDK 2.x. This version is not compatible with the previous version (Version 0.x). The package name is `oss2` to avoid conflict with previous versions.The SDK of this version is dependent on the third-party HTTP library `requests <https://github.com/kennethreitz/requests>`_ and `crcmod`. Install the SDK following the methods below.Note:This version does not contain the `osscmd` command line tool.Running environment-------------------Python 2.6，2.7，3.3，3.4，3.5Note:Do not use Python 3.3.0 or 3.3.1. Refer to `Python Issue 16658 <https://bugs.python.org/issue16658>`_.Installing----------Install the official release version through PIP (taking Linux as an example):.. code-block:: bash$ pip install oss2You can also install the unzipped installer package directly:.. code-block:: bash$ sudo python setup.py installGetting started---------------.. code-block:: python# -*- coding: utf-8 -*-import oss2endpoint = '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 bucketfor object_info in oss2.ObjectIterator(bucket):print(object_info.key)For more examples, refer to the code under the "examples" directory.Handling errors---------------The Python SDK interface will throw an exception in case of an error (see oss2.exceptions sub-module) unless otherwise specified. An example is provided below:.. code-block:: pythontry:result = bucket.get_object(key)print(result.read())except oss2.exceptions.NoSuchKey as e:print('{0} not found: http_status={1}, request_id={2}'.format(key, e.status, e.request_id))Testing-------First set the required AccessKeyId, AccessKeySecret, endpoint and bucket information for the test through environment variables (**Do not use the bucket for the production environment**).Take the Linux system for example:.. code-block:: bash$ export OSS_TEST_ACCESS_KEY_ID=<AccessKeyId>$ export OSS_TEST_ACCESS_KEY_SECRET=<AccessKeySecret>$ export OSS_TEST_ENDPOINT=<endpoint>$ export OSS_TEST_BUCKET=<bucket>$ export OSS_TEST_STS_ID=<AccessKeyId for testing STS>$ export OSS_TEST_STS_KEY=<AccessKeySecret for testing STS>$ export OSS_TEST_STS_ARN=<Role ARN for testing STS>Run the test in the following method:.. code-block:: bash$ nosetests                          # First install noseYou can set environment variable to test auth v2:.. code-block:: bash$ export OSS_TEST_AUTH_VERSION=v2More resources--------------- `More examples <https://github.com/aliyun/aliyun-oss-python-sdk/tree/master/examples>`_.- `Python SDK API documentation <http://aliyun-oss-python-sdk.readthedocs.org/en/latest>`_.- `Official Python SDK documentation <https://help.aliyun.com/document_detail/32026.html>`_.Contacting us-------------- `Alibaba Cloud OSS official website <http://oss.aliyun.com>`_.- `Alibaba Cloud OSS official forum <http://bbs.aliyun.com>`_.- `Alibaba Cloud OSS official documentation center <https://help.aliyun.com/document_detail/32026.html>`_.- Alibaba Cloud official technical support: `Submit a ticket <https://workorder.console.aliyun.com/#/ticket/createIndex>`_.License-------- `MIT <https://github.com/aliyun/aliyun-oss-python-sdk/blob/master/LICENSE>`_.