[ https://issues.apache.org/jira/browse/LIBCLOUD-986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420173#comment-16420173 ]
Quentin Pradet commented on LIBCLOUD-986: ----------------------------------------- Thanks for the fix! I can't close this issue myself, it would be nice if you could do it. > List / Iterate container with prefix for Azure Blob service (This support > exists in the other drivers already) > -------------------------------------------------------------------------------------------------------------- > > Key: LIBCLOUD-986 > URL: https://issues.apache.org/jira/browse/LIBCLOUD-986 > Project: Libcloud > Issue Type: Improvement > Components: Storage > Reporter: Joshua Hawkinson > Priority: Major > > 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 (or {{ex_prefix)}}. > This functionality is not present in the Azure driver for some reason. I've > gone and checked the list_blobs API and it 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} > 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} > > I've just worked around this at a higher level for now. There isn't any > urgency on my end, but it would be nice if the abstraction was more > consistent so I could remove the workaround code. -- This message was sent by Atlassian JIRA (v7.6.3#76005)