Microsoft Azure Storage SDK for Python ====================================== .. image:: https://travis-ci.org/Azure/azure-storage-python.svg :target: https://travis-ci.org/Azure/azure-storage-python .. image:: https://img.shields.io/codecov/c/github/azure/azure-storage-python.svg :target: https://codecov.io/gh/Azure/azure-storage-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: .. code:: shell pip freeze If you see azure==0.11.0 (or any version below 1.0), uninstall it first then install it again: .. code:: shell 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: .. code:: shell pip freeze If you see azure-storage==0.36.0 (or any version below 0.36.0), uninstall it first: .. code:: shell 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: .. code:: python # Basic configuration: configure the root logger, including 'azure.storage' logging.basicConfig(format='%(asctime)s %(name)-20s %(levelname)-5s %(message)s', level=logging.INFO) .. code:: python # 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 ========== - `Python Developer Center`_ - `Azure Storage Service`_ - `Azure Storage Team Blog`_ - `API Reference`_ .. _Python Developer Center: http://azure.microsoft.com/en-us/develop/python/ .. _API Reference: https://docs.microsoft.com/en-us/python/api/overview/azure/storage/client?view=azure-python .. _readthedocs: https://azure-storage.readthedocs.io/ .. _here: https://github.com/Azure/azure-storage-python/archive/master.zip .. _create an account: https://account.windowsazure.com/signup .. _Developer Forums on MSDN: http://social.msdn.microsoft.com/Forums/windowsazure/en-US/home?forum=windowsazuredata .. _Developer Forums on Stack Overflow: http://stackoverflow.com/questions/tagged/azure+windows-azure-storage .. _Azure Projects Contribution Guidelines: http://azure.github.io/guidelines.html .. _Issues: https://github.com/Azure/azure-storage-python/issues .. _Azure Storage Service: http://azure.microsoft.com/en-us/documentation/services/storage/ .. _Azure Storage Team Blog: http://blogs.msdn.com/b/windowsazurestorage/ .. _CONTRIBUTING.md doc: CONTRIBUTING.md .. _problems: https://github.com/Azure/azure-storage-python/issues/219 .. _upgrading pip: https://docs.microsoft.com/en-us/visualstudio/python/managing-python-on-azure-app-service .. _cosmosdb: https://github.com/Azure/azure-cosmosdb-python