Azure Blob Storage ist einer der Dienste von Azure Storage, einem Speicherdienst, der eine große Datenmenge wie Binärdateien speichern kann.
Ein Blob repräsentiert eine Datei oder Daten, die von einem Container organisiert werden. Jeder Container ist an ein Speicherkonto gebunden. Daher ist die hierarchische Struktur wie in der folgenden Abbildung dargestellt.
https://docs.microsoft.com/ja-jp/azure/storage/storage-python-how-to-use-blob-storage
Azure Storage bietet SDKs für Nodejs, Python usw. sowie .net.
Dieses Mal werde ich versuchen, Blob-Speicher mit Pythons SDK zu verwenden.
Erstellen Sie ein Azure-Speicherkonto über das Administrationsportal.
Sobald Sie ein Speicherkonto erstellt haben, erhalten Sie einen Zugriffsschlüssel. Drücken Sie im Bildschirm zur Verwaltung des Speicherkontos auf [Zugriffsschlüssel], um den Zugriffsschlüssel abzurufen.
Dieses Mal benötigen Sie zwei Elemente: [Name des Speicherkontos] und [Zugriffsschlüssel].
Die diesmal verwendete Python ist 3.5.
Installieren Sie zunächst das Azure Storage Python SDK von pip
pip install azure-storage
Erstellen Sie zunächst einen Container, der sich wie ein Ordner für Blobs verhält.
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)
Wenn Sie dies tun, können Sie sehen, dass der Container aus dem Blob auf dem Admin-Bildschirm erstellt wurde.
Lassen Sie uns tatsächlich einen Blob im Container erstellen und die Daten hochladen.
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)
Sie können sehen, dass der Blob erstellt wurde.
Standardmäßig handelt es sich um privaten Zugriff. Ändern Sie daher alle Container in öffentlichen Zugriff.
Drücken Sie auf dem Containerbildschirm auf Zugriffsrichtlinie und wählen Sie Container aus.
Klicken Sie auf den von Ihnen erstellten Blob und versuchen Sie, über Ihren Browser auf die URL zuzugreifen.
Ich konnte über meinen Browser auf die hochgeladene Datei zugreifen.
Sie können die Liste der Blobs im Container mit dem folgenden Programm abrufen.
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)
Gehen Sie wie folgt vor, um blob programmgesteuert herunterzuladen:
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')
Stellen Sie sicher, dass Sie den von Ihnen hochgeladenen Blob mit dem Dateinamen [download.png] erhalten.
Gehen Sie wie folgt vor, um einen Blob zu löschen:
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)
Sie können bestätigen, dass der Blob verschwunden ist, indem Sie die Aktualisierungstaste drücken.
Beispielcode ist in diesem Repository verfügbar. https://github.com/garicchi/azure-blob-python-sample
Recommended Posts