Skip to content
Microsoft Azure Storage Library for Python
Branch: master
Clone or download
zezha-msft Merge pull request #605 from Azure/delegation-sas-doc-update
Added missing return type for get_user_delegation_key
Latest commit 85e1de3 Jun 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.azure-pipelines move pypy3 into the standard matrix Apr 24, 2019
.github blob&file 1.3.1 version change and new recordings Jul 16, 2018
azure-storage-blob Added missing return type for get_user_delegation_key Jun 10, 2019
azure-storage-common hotfix: update dependency for 2.0 packages May 9, 2019
azure-storage-file hotfix: update dependency for 2.0 packages May 9, 2019
azure-storage-nspkg Update packaging without azure bdist wheel (#507) Nov 10, 2018
azure-storage-queue hotfix: update dependency for 2.0 packages May 9, 2019
doc Bumped version number for 2.0 release + new recordings May 9, 2019
samples Removed redundancy in "if else" statements (#520) Nov 10, 2018
tests Bumped version number for 2.0 release + new recordings May 9, 2019
.coveragerc Added code coverage report&configuration Sep 13, 2017
.gitignore Update packaging without azure bdist wheel (#507) Nov 10, 2018
.travis.yml Update packaging without azure bdist wheel (#507) Nov 10, 2018
BreakingChanges.md Bumped version for 1.3.0 Jun 26, 2018
ChangeLog.md Version 1.1.0 and recordings Feb 6, 2018
LICENSE.txt Converted to MIT license Dec 18, 2017
NOTICE.md Added NOTICE file (#517) Nov 10, 2018
README.rst README: update supported python version Mar 20, 2019
package_service_mapping.json Removed table package from the repo Oct 4, 2017
requirements.txt Fix vcrpy's version to avoid breaking python 3.4 build Nov 10, 2018
tool_build_packages.py Added tool script to clean out blob containers May 23, 2018
tool_clean_build_files.sh Scrub sensitive information from the logs (#524) Nov 10, 2018
tool_reset_account.py Updated disclaimer for tool_reset_account Jun 1, 2018
tool_validate_packages.py Fix READMEs in each package Jun 28, 2018

README.rst

Microsoft Azure Storage SDK for Python

This project provides a client library in Python that makes it easy to consume Microsoft Azure Storage services. For documentation please see the Microsoft Azure Python Developer Center and our API Reference (also available on readthedocs).

If you are looking for the Service Bus or Azure Management libraries, please visit https://github.com/Azure/azure-sdk-for-python.

Compatibility

IMPORTANT: If you have an earlier version of the azure package (version < 1.0), you should uninstall it before installing this package.

You can check the version using pip:

pip freeze

If you see azure==0.11.0 (or any version below 1.0), uninstall it first then install it again:

pip uninstall azure
pip install azure

If you are upgrading from a version older than 0.30.0, see the upgrade doc, the usage samples in the samples directory, and the ChangeLog and BreakingChanges.

If you are encountering problems installing azure storage on Azure Web Apps, upgrading pip might help.

IMPORTANT: If you have an earlier version of the azure-storage package (version <= 0.36.0), you should uninstall it before installing the new split packages.

You can check the version using pip:

pip freeze

If you see azure-storage==0.36.0 (or any version below 0.36.0), uninstall it first:

pip uninstall azure-storage

Features

  • Blob
    • Create/Read/Update/Delete Containers
    • Create/Read/Update/Delete Blobs
    • Advanced Blob Operations
  • Queue
    • Create/Delete Queues
    • Insert/Peek Queue Messages
    • Advanced Queue Operations
  • Files
    • Create/Update/Delete Shares
    • Create/Update/Delete Directories
    • Create/Read/Update/Delete Files
    • Advanced File Operations

Getting Started

Download

The Azure Storage SDK for Python is composed of 5 packages:

  • azure-storage-blob
    • Contains the blob service APIs.
  • azure-storage-file
    • Contains the file service APIs.
  • azure-storage-queue
    • Contains the queue service APIs.
  • azure-storage-common
    • Contains common code shared by blob, file and queue.
  • azure-storage-nspkg
    • Owns the azure.storage namespace, user should not use this directly.

Note: prior to and including version 0.36.0, there used to be a single package (azure-storage) containing all services. It is no longer supported, and users should install the 3 before-mentioned service packages individually, depending on the need. In addition, the table package is no longer releasing under the azure-storage namespace, please refer to cosmosdb.

Option 1: Via PyPi

To install via the Python Package Index (PyPI), type:

pip install azure-storage-blob
pip install azure-storage-file
pip install azure-storage-queue

Option 2: Source Via Git

To get the source code of the SDK via git just type:

git clone git://github.com/Azure/azure-storage-python.git

cd ./azure-storage-python/azure-storage-nspkg
python setup.py install

cd ../azure-storage-common
python setup.py install

cd ../azure-storage-blob
python setup.py install

Replace azure-storage-blob with azure-storage-file or azure-storage-queue, to install the other services.

Option 3: Source Zip

Download a zip of the code via GitHub or PyPi. Then follow the same instructions in option 2.

Minimum Requirements

  • Python 2.7, 3.3-3.7.
  • See setup.py for dependencies

Usage

To use this SDK to call Microsoft Azure storage services, you need to first create an account.

Logging

To make debugging easier, it is recommended to turn on logging for the logger named 'azure.storage'. Here are two example configurations:

# Basic configuration: configure the root logger, including 'azure.storage'
logging.basicConfig(format='%(asctime)s %(name)-20s %(levelname)-5s %(message)s', level=logging.INFO)
# More advanced configuration allowing more control
logger = logging.getLogger('azure.storage')
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s %(name)-20s %(levelname)-5s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

Here is how we use the logging levels, it is recommended to use INFO:

  • DEBUG: log strings to sign
  • INFO: log outgoing requests and responses, as well as retry attempts
  • WARNING: not used
  • ERROR: log calls that still failed after all the retries

Code Sample

See the samples directory for blob, queue, and file usage samples.

Need Help?

Be sure to check out the Microsoft Azure Developer Forums on MSDN or the Developer Forums on Stack Overflow if you have trouble with the provided code.

Contribute Code or Provide Feedback

If you would like to become an active contributor to this project, please follow the instructions provided in Azure Projects Contribution Guidelines. You can find more details for contributing in the CONTRIBUTING.md doc.

If you encounter any bugs with the library, please file an issue in the Issues section of the project.

Learn More

You can’t perform that action at this time.