Azure Storageへのファイルアップロードの手順
Azure Storageへのファイルアップロード方法を以下に記載します。
前提条件
以下の環境にて、構築しております。
OS: Windows10
言語:Python 3.8.6
Azure環境があること
Azureの"ストレージアカウント"サービスにて、新規アカウントを作成していること
アップロード手順
①Python用のAzure Storageパッケージをインストールする。
$ py -m pip install azure-storage-blob == 12.5.0
② Azure ポータルにて、"ストレージアカウント"サービスから、Blob service → コンテナーを選択する。
その後、接続文字列を確認する。
③ 以下のプログラムが記載された"sample_upload.py"を実行する。
なお、実行位置に"Hello World.txt"(中身は自由)を配置しておくこと。
$ py sample_upload.py
※ファイル内の以下の箇所を自身の環境に合わせて変更してください。
<接続文字列>, <コンテナ名称>, <アップロード先のフォルダ名称>
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient, __version__
# Azure Storage上にて、接続文字列を確認する。
connect_str = <接続文字列>
# Create a file in local data directory to upload and download
container_name = "<コンテナ名称>"
# Azure Storage内は厳密には、フォルダという構成ではない。
# 一応 "\"区切りをすることで、疑似的にフォルダ構造を実現することは可能
upload_path = "<アップロード先のフォルダ名称>\"
# アップロードするファイル名(実行位置によって、相対ファイルパスを記載すること)
local_file_name = "HelloWorld.txt"
# アップロード先
upload_file_path = os.path.join(upload_path, local_file_name)
# 自身のAzure Storageに接続するためのインスタンスを作成する。
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
# Azure Storageの指定コンテナに接続するブロブ(ファイル)のクライアントインスタンスを作成する。
blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)
print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)
# Azure Storageへのアップロード
with open(upload_file_path, "rb") as data:
blob_client.upload_blob(data)
参考文献
Azure公式ドキュメント Pythonリファレンス BlobServiceClientClass
https://docs.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.blobserviceclient?view=azure-python