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.
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éez un compte de stockage Azure à partir du portail d'administration.
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.
Cette fois, vous avez besoin de deux éléments, [Nom du compte de stockage] et [Clé d'accès].
Le python utilisé cette fois est 3.5.
Tout d'abord, installez le SDK python Azure Storage à partir de pip
pip install azure-storage
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.
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éé.
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.
Cliquez sur l'objet blob que vous avez créé et essayez d'accéder à l'URL depuis votre navigateur.
J'ai pu accéder au fichier téléchargé depuis mon navigateur.
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)
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].
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.
Un exemple de code est disponible dans ce référentiel. https://github.com/garicchi/azure-blob-python-sample
Recommended Posts