Azure / Python tips 1 - Accéder à un blob Azure

Le but de ce post est de vous montrez comment utiliser Python pour accéder aux blobs d'Azure (services de fichiers hébergés).

Je me sers souvent de tout ces petits bouts de code (snippets) pour construire des applications plus ambitieuses. Ils me font gagner beaucoup de temps et je vous conseille de faire pareil lorsque vous avez passé un peu de temps à chercher sur le web ou lire de la doc.

Pour commencer il faut installer le module azure-storage-blob (fonctionne avec Python 2.7 et 3.3 minimum). J'en profite pour vous inciter à utiliser Python 3 pour vos futurs développements car il y a beaucoup d'améliorations par rapport à la branche Python 2.

pip install azure-storage-blob

Une fois installé nous pouvons alors simplement communiquer avec le service Azure pour effectuer des opérations simples sur des blobs.

# On commence par importer les modules
from azure.storage.blob import BlockBlobService
from azure.storage.blob import ContentSettings

# On renseigne les informations de connexion
account = 'myaccount'           # le nom du compte
key   = 'super-secret'          # la clé d'accès au storage Azure

container = 'moncontainer'      # le nom du container

# On va créer le service d'accès aux blobs
blob_service = BlockBlobService(account_name=account, account_key=key)

# Ici on récupère la liste des blobs du container
filelist_gen =  = blob_service.list_blobs(container)
for blob in filelist_gen:
    # On liste les noms des blobs
    print(blob.name)

# Uploader un blob
blob_service.create_blob_from_path
(
  container, 'licorneblob', 'licorne.png',
  content_settings=ContentSettings(content_type='image/png')
)

# Télécharger un blob
blob_service.get_blob_to_path(container, 'licorneblob', 'licorne-2.png')

# Effacer un blob
blob_service.delete_blob(container, 'licorneblob')

Attention : le nom des blobs et des containers doit respecter des règles de nommage. Mais essayez de rester simple cela vous évitera des problèmes futurs !

Liens