らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Azure Storage Container へアクセスする Python スクリプトサンプル

azure-storage-blob ライブラリを使うと Python スクリプトから Azure Storage Container へアクセスすることが出来ます。 簡単なサンプルを書いたのでメモしておきます。 今回は Python 3.8.1 を使いました。 但し、このページよりも GitHubAzure / azure-storage-python / samples の方がサンプルが充実しているので、そちらを参照することをオススメします。

ライブラリのインストール

pip でライブラリをインストールしておきます。

pip install azure-storage-blob

コンテナの内容を一覧表示する

Azure Storage Container 内の Blob オブジェクトを一覧表示します。

# coding: utf-8
#!/bin/env python

from __future__ import print_function
from azure.storage.blob import ContainerClient

CONNECTION_STRING = "CONNECTION_STRING"
CONTAINER_NAME = "CONTAINER_NAME"

container = ContainerClient.from_connection_string(CONNECTION_STRING, CONTAINER_NAME)
blob_list = container.list_blobs()
for blob in blob_list:
    print(blob.name + '\n')

コンテナへファイルをアップロードする

ファイル名決め打ちですが、ローカルファイルを Azure Storage Container へアップロードするサンプルです。

# coding: utf-8
#!/bin/env python

from azure.storage.blob import BlobServiceClient

CONNECTION_STRING = "CONNECTION_STRING"
CONTAINER_NAME = "CONTAINER_NAME"
FILE = "UPLOAD.txt"

blob_service_client = BlobServiceClient.from_connection_string(CONNECTION_STRING)
container_client = blob_service_client.get_container_client(CONTAINER_NAME)
blob_client = container_client.get_blob_client(FILE)
with open(FILE, "rb") as data:
    blob_client.upload_blob(data, blob_type="AppendBlob")