Joshua Hawkinson created LIBCLOUD-986:
-----------------------------------------
Summary: List / Iterate container with prefix for Azure Blob
service (in addition to the other drivers)
Key: LIBCLOUD-986
URL: https://issues.apache.org/jira/browse/LIBCLOUD-986
Project: Libcloud
Issue Type: Improvement
Components: Storage
Reporter: Joshua Hawkinson
While testing out the libcloud storage abstraction I've come across a curious
omission in driver support. It seems that for many drivers there is additional
support for the \{list_container_objects()} and
{iterate_container_objects to support a prefix. This functionality is not
present in the Azure driver for some reason. I've gone and checked the
list_blobs API and ti also supports this functionality as seen here:
[https://docs.microsoft.com/en-us/rest/api/storageservices/list-blobs] I've
attempted a quick and dirty patch that seems to work as well.
{code:python}
azure_blobs.py Line 384
- def iterate_container_objects(self, container):
+ def iterate_container_objects(self, container, ex_prefix=None):
"""
@inherits: :class:`StorageDriver.iterate_container_objects`
"""
params = {'restype': 'container',
'comp': 'list',
+ 'prefix': ex_prefix,
'maxresults': RESPONSES_PER_REQUEST,
'include': 'metadata'}
Line 419 (Add new function)
def list_container_objects(self, container, ex_prefix=None):
"""
Return a list of objects for the given container.
:param container: Container instance.
:type container: :class:`Container`
:param ex_prefix: Only return objects starting with ex_prefix
:type ex_prefix: ``str``
:return: A list of Object instances.
:rtype: ``list`` of :class:`Object`
"""
return list(self.iterate_container_objects(container,
ex_prefix=ex_prefix))
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)