Skip to main content

Aliyun OSS (Object Storage Service) SDK With Proxies Support

Project description

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.

Run environment
--------

Python 2.6,2.7,3.3,3.4,3.5

.. note::

Do not use Python 3.3.0 or 3.3.1. Refer to `Python Issue 16658 <https://bugs.python.org/issue16658>`_.

Installation method
--------

Install the official release version through PIP (taking Linux as an example):

.. code-block:: bash

$ pip install oss2

You can also install the unzipped installer package directly:

.. code-block:: bash

$ sudo python setup.py install


Quick use
--------

.. code-block:: python

# -*- coding: utf-8 -*-

import oss2

endpoint = '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.txt
key = 'story.txt'

# Upload
bucket.put_object(key, 'Ali Baba is a happy youth.')

# Download
bucket.get_object(key).read()

# Delete
bucket.delete_object(key)

# Traverse all objects in the bucket
for object_info in oss2.ObjectIterator(bucket):
print(object_info.key)

For more examples, refer to the code under the "examples" directory.

Handle 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:: python

try:
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))

Test
----

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 nose

More usage
--------
- `More examples can be found <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>`_.

Contact 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>`_.

Code license
--------
For the MIT license, see LICENSE object.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prox_oss2-2.3.2.1-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

Details for the file prox_oss2-2.3.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for prox_oss2-2.3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4e9880682ba1c9f87f4943b2e3881389a7f59972754f9daced3154078ac76eee
MD5 f176e22d382adae50b89ab853e00b1c8
BLAKE2b-256 a93869700b8a61399fc3c309d818060a24a20af81f73d66ca993414352336a38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page