You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by "Joshua Hawkinson (JIRA)" <ji...@apache.org> on 2018/03/16 00:58:00 UTC
[jira] [Updated] (LIBCLOUD-986) List / Iterate container with
prefix for Azure Blob service (This support exists in the other drivers
already)
[ https://issues.apache.org/jira/browse/LIBCLOUD-986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua Hawkinson updated LIBCLOUD-986:
--------------------------------------
Summary: List / Iterate container with prefix for Azure Blob service (This support exists in the other drivers already) (was: List / Iterate container with prefix for Azure Blob service (in addition to the other drivers))
> 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. 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)