Utiliser Azure Blob Storage à partir de Python

Qu'est-ce que le stockage Blob Azure?

Azure Blob Storage est l'un des services d'Azure Storage, qui est un service de stockage capable de stocker une grande quantité de données telles que des binaires.

Un Blob représente un fichier ou des données, qui sont organisés par un conteneur. Chaque conteneur est lié à un compte de stockage. Par conséquent, la structure hiérarchique est celle illustrée dans la figure ci-dessous.

blob

https://docs.microsoft.com/ja-jp/azure/storage/storage-python-how-to-use-blob-storage

Azure Storage fournit des SDK pour Nodejs, Python, etc. ainsi que .net.

Cette fois, j'essaierai d'utiliser le stockage blob en utilisant le sdk de Python.

Créer un compte de stockage Azure

Créez un compte de stockage Azure à partir du portail d'administration.

Screenshot from 2016-12-26 12-51-39.png

Une fois que vous avez créé un compte de stockage, vous obtiendrez une clé d'accès. Depuis l'écran de gestion du compte de stockage, appuyez sur [Access Key] pour obtenir la clé d'accès.

Screenshot from 2016-12-26 12-53-22.png

Cette fois, vous avez besoin de deux éléments, [Nom du compte de stockage] et [Clé d'accès].

Installation de la bibliothèque

Le python utilisé cette fois est 3.5.

Tout d'abord, installez le SDK python Azure Storage à partir de pip

pip install azure-storage

Faire un contenant

Tout d'abord, créez un conteneur qui agit comme un dossier pour les objets blob.

from azure.storage.blob import BlockBlobService
from azure.storage.blob import PublicAccess

account_name='{your account name}'
account_key='{your account key}'
container_name='testcontainer'

service = BlockBlobService(account_name=account_name,account_key=account_key)
service.create_container(container_name)

Lorsque vous faites cela, vous pouvez voir que le conteneur a été créé à partir de l'objet blob sur l'écran d'administration.

Screenshot from 2016-12-26 13-03-49.png

Créer un objet blob dans un conteneur

Créons en fait un objet blob dans le conteneur et téléchargeons les données.

from azure.storage.blob import BlockBlobService

account_name='{your account name}'
account_key='{your account key}'
container_name='testcontainer'
file_path='sample1.png'

service = BlockBlobService(account_name=account_name,account_key=account_key)
service.create_blob_from_path(container_name,'sample_blob1',file_path)

Vous pouvez voir que l'objet blob a été créé.

Screenshot from 2016-12-26 13-06-23.png

Par défaut, c'est un accès privé, changeons donc tous les conteneurs en accès public.

À partir de l'écran du conteneur, appuyez sur Stratégie d'accès et sélectionnez Conteneur.

Screenshot from 2016-12-26 13-07-42.png

Cliquez sur l'objet blob que vous avez créé et essayez d'accéder à l'URL depuis votre navigateur.

Screenshot from 2016-12-26 13-08-32.png

J'ai pu accéder au fichier téléchargé depuis mon navigateur.

Obtenir une liste d'objets blob

Vous pouvez obtenir la liste des objets blob dans le conteneur avec le programme suivant.

from azure.storage.blob import BlockBlobService

account_name='{your account name}'
account_key='{your account key}'
container_name='testcontainer'

service = BlockBlobService(account_name=account_name,account_key=account_key)
blobs = service.list_blobs(container_name)
for blob in blobs:
    print(blob.name)

Obtenir blob

Pour télécharger l'objet blob par programme, procédez comme suit:

from azure.storage.blob import BlockBlobService

account_name='{your account name}'
account_key='{your account key}'
container_name='testcontainer'
blob_name='sample_blob1'

service = BlockBlobService(account_name=account_name, account_key=account_key)
service.get_blob_to_path(container_name,blob_name,'download.png')

Assurez-vous d'obtenir le blob que vous avez téléchargé avec le nom de fichier [download.png].

Supprimer le blob

Pour supprimer un objet blob, procédez comme suit:

from azure.storage.blob import BlockBlobService

account_name='{your account name}'
account_key='{your account key}'
container_name='testcontainer'
blob_name='sample_blob1'

service = BlockBlobService(account_name=account_name, account_key=account_key)
service.delete_blob(container_name, blob_name)

Vous pouvez confirmer que l'objet blob a disparu en appuyant sur le bouton d'actualisation.

Screenshot from 2016-12-26 13-15-27.png

référence

Un exemple de code est disponible dans ce référentiel. https://github.com/garicchi/azure-blob-python-sample

Recommended Posts

Utiliser Azure Blob Storage à partir de Python
Utilisez Thingsspeak de Python
Utiliser fluentd de python
Utilisez MySQL depuis Python
Utiliser MySQL depuis Python
Utilisez BigQuery depuis Python.
Utilisez mecab-ipadic-neologd de Python
Firebase: utilisez Cloud Firestore et Cloud Storage depuis Python
Utilisez l'API e-Stat de Python
Comment utiliser le stockage Azure Table de Django (PTVS)
Utiliser la PNL Stanford Core à partir de Python
Lire et utiliser des fichiers Python à partir de Python
Utiliser Azure ML Python SDK 4: écrire la sortie dans le stockage Blob - partie 2
Utiliser de force Google Translate à partir de python
Comment spécifier Cache-Control pour le stockage BLOB dans le stockage Azure en Python
Utiliser Cloud Storage depuis Python3 (Introduction)
Utilisez l'API kabu Station® de Python
Utilisez l'API Flickr de Python
Utilisation d'Azure ML Python SDK 3: Exporter la sortie vers le stockage Blob - Partie 1
Utiliser le modèle entraîné fastText de Python
Utiliser l'API Google Analytics de Python
Téléchargement de fichiers vers Azure Storage (Python)
Utiliser le type de données PostgreSQL (jsonb) à partir de Python
Utiliser le groupe d'API d'apprentissage automatique A3RT de Python
Je veux utiliser jar de python
Manipulation d'Azure CosmosDB à partir de Python Part.2
Utiliser l'API Google Cloud Vision de Python
Utiliser Django à partir d'un script Python local
Utilisation des fonctions C ++ de python avec pybind11
Exploitez le stockage d'objets cloud de Sakura à partir de Python
Utiliser Python et MeCab avec Azure Functions
sql à sql
MeCab de Python
Utiliser le SDK Azure ML Python 2: utiliser un ensemble de données comme entrée - partie 2
Étude de Python Hour7: Comment utiliser les classes
[Bash] Obtenez la puissance de python de bash en utilisant la documentation ici
Je veux utiliser le solveur ceres de python
Utiliser Python et word2vec (appris) avec Azure Databricks
Utilisons différentes versions de SQLite3 de Python3!
Envelopper C ++ avec Cython pour une utilisation à partir de Python
Utilisez le module Python nghttp2 de Homebrew de Python de pyenv
Utilisez Python / Django avec Windows Azure Cloud Service!
[Azure Functions / Python] Fonctions de chaîne avec liaison de stockage de file d'attente
Utilisez Tor pour vous connecter depuis urllib2 [Python] [Mac]
Python: décompressez depuis l'entrée standard en utilisant zipfile
Utiliser le package d'estimation du ratio de densité R densratio de Python
Touchez MySQL depuis Python 3
Utilisez config.ini avec Python
Lecture de données CSV à partir du code Python de stockage d'objets DSX
Exploitez Filemaker depuis Python
[Python] Utiliser JSON avec Python
Utiliser des dates en Python
Accéder à bitcoind depuis python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Python depuis ou import
Utiliser Valgrind avec Python
Utiliser mecab avec Python 3
Exécutez Python à partir d'Excel
Installer Python à partir de la source