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

Dans ce bref post, on va continuer d'explorer le blob storage d'Azure. Nous allons montrer une fonctionnalité très utile lorsque nous désirons écrire des données à la fin des fichiers uniquement. C'est souvent le cas lorsque l'on écrit des fichiers de logs.

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.6 pour vos futurs développements car il y a beaucoup d'améliorations par rapport aux versions de la branche 2.7.

pip install azure-storage-blob

Append Blob

from azure.storage.blob import AppendBlobService

# 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 crée ici le blob service en mode append only
blob_service = AppendBlobService(account_name=account, account_key=key)

# On crée un nouveau container
blob_service.create_container(container)

# Append blobs doivent être créés en premier lieu
blob_service.create_blob(container,'monfichierlog')
blob_service.append_blob_from_text(container, 'monfichierlog', u'2018-03-05;connexion depuis le client Firefox')
blob_service.append_blob_from_text(container, 'monfichierlog', u'2018-03-06;connexion depuis le client Edge')

# On peut également récupérer la valeur d'un blob simplement
append_blob = blob_service.get_blob_to_text(container, 'monfichierlog')

Voilà pour aujourd'hui, c'était court mais nous reviendrons prochainement sur ces blobs car nous pouvons faire beaucoup de choses avec, comme la gestion d'une barre de progression, le téléchargement en parallèle, l'utilisation et le partage d'un blob SAS, ou bien encore la gestion des tags if_modified_since par exemple.