Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

azure - list containers in python

I'm trying to list the containers under an azure account using the python sdk - why do I get the following?

>>> azure.storage.blob.baseblobservice.BaseBlobService(account_name='x', account_key='x').list_containers()
>>> <azure.storage.models.ListGenerator at 0x7f7cf935fa58>

Surely the above is a call to the function and not a reference to the function itself.

like image 214
category Avatar asked Oct 25 '16 12:10

category


2 Answers

you get the following according to source code it return ListGenerator(resp, self._list_containers, (), kwargs)

you can access what you want as follow:

python2:

>>> from azure.storage.blob.baseblobservice import BaseBlobService 
>>> blob_service = BaseBlobService(account_name='x', account_key='x')
>>> containers = blob_service.list_containers() 
>>> for c in containers: 
      print c.name

python3

>>> from azure.storage.blob.baseblobservice import BaseBlobService 
>>> blob_service = BaseBlobService(account_name='x', account_key='x')
>>> containers = blob_service.list_containers() 
>>> for c in containers: 
      print(c.name)
like image 99
Hisham Karam Avatar answered Sep 28 '22 09:09

Hisham Karam


for python 3 and more recent distribution of azure libraries, you can do:

from azure.storage.blob import BlockBlobService

block_blob_service = BlockBlobService(account_name=account_name, account_key=account_key) 
containers = block_blob_service.list_containers()
for c in containers: 
   print(c.name)
like image 24
Amir Imani Avatar answered Sep 28 '22 09:09

Amir Imani