| :orphan: |
| |
| Storage Examples |
| ================ |
| |
| Specify meta-data when uploading an object |
| ------------------------------------------ |
| |
| Most of the providers allow you to associate arbitrary key-value pairs |
| (meta-data) with every uploaded object. This example shows how to do that in |
| Libcloud. |
| |
| .. literalinclude:: /examples/storage/upload_with_metadata.py |
| :language: python |
| |
| As you can see in the example above, meta-data is specified by including |
| ``meta_data`` key in the ``extra`` dictionary argument which gets passed |
| to all the upload methods. |
| |
| Download part of an object |
| -------------------------- |
| |
| To perform a partial (range) object download, you can utilize new |
| :meth:`libcloud.storage.base.StorageDriver.download_object_range` |
| and :meth:`libcloud.storage.base.StorageDriver.download_object_range_as_stream` |
| methods which have been added in Libcloud v3.0.0. |
| |
| ``start_bytes`` and ``end_bytes`` behave in the same manner as Python |
| indexing which means that ``start_bytes`` is inclusive and ``end_bytes`` |
| is non-inclusive. |
| |
| For example, if the object content is ``0123456789``, here is what |
| would be returned for various values of start and end bytes arguments: |
| |
| * start_bytes=0, end_bytes=1 -> 0 |
| * start_bytes=0, end_bytes=2 -> 01 |
| * start_bytes=5, end_bytes=6 -> 5 |
| * start_bytes=5, end_bytes=10 -> 56789 |
| |
| .. literalinclude:: /examples/storage/partial_object_download.py |
| :language: python |
| |
| Create a backup of a directory and directly stream it to CloudFiles |
| ------------------------------------------------------------------- |
| |
| .. literalinclude:: /examples/storage/create_directory_backup_stream_to_cf.py |
| :language: python |
| |
| Efficiently download multiple files using gevent |
| ------------------------------------------------ |
| |
| .. literalinclude:: /examples/storage/concurrent_file_download_using_gevent.py |
| :language: python |
| |
| Publishing a static website using CloudFiles driver |
| --------------------------------------------------- |
| |
| .. note:: |
| This example works with Libcloud version 0.11.0 and above. |
| |
| .. literalinclude:: /examples/storage/publish_static_website_on_cf.py |
| :language: python |