クイック スタート:Azure CLI を使用して BLOB を作成、ダウンロード、一覧表示する

Azure CLI は、Azure リソースを管理するための、Azure のコマンド ライン エクスペリエンスです。 ブラウザーで、Azure Cloud Shell を使用して操作することができます。 また、macOS、Linux、または Windows 上にインストールし、コマンド ラインから実行することもできます。 このクイック スタートでは、Azure CLI を使用して、Azure Blob Storage との間でデータをアップロードおよびダウンロードする方法を説明します。

前提条件

Azure Storage にアクセスするには、Azure サブスクリプションが必要です。 まだサブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

Azure Storage へのアクセスはすべて、ストレージ アカウント経由で行われます。 このクイック スタートでは、Azure portal、Azure PowerShell、または Azure CLI を使用して、ストレージ アカウントを作成します。 ストレージ アカウントの作成については、「ストレージ アカウントの作成」を参照してください。

Azure CLI の環境を準備する

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • この記事では、Azure CLI のバージョン 2.0.46 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

Blob Storage へのアクセスを承認する

Blob Storage へのアクセスは、Azure CLI から Microsoft Entra ID の資格情報を使用するか、またはストレージ アカウントのアクセス キーを使用して承認することができます。 Microsoft Entra 資格情報の使用をお勧めします。 この記事では、Microsoft Entra ID を使用して、Blob Storage の操作を承認する方法について説明します。

Blob Storage を対象とするデータの操作では、Azure CLI コマンドで --auth-mode パラメーターがサポートされます。特定の操作を承認する方法をパラメーターで指定できます。 Microsoft Entra の資格情報を使用して承認するには、--auth-mode パラメーターを login に設定します。 詳細については、「Azure CLI を使用して BLOB またはキュー データへのアクセスを承認する」を参照してください。

--auth-mode パラメーターがサポートされるのは、Blob Storage のデータの操作だけです。 リソース グループの作成やストレージ アカウントの作成など、管理操作の承認では自動的に Microsoft Entra の資格情報が使用されます。

開始するには、az login を使用して Azure アカウントにサインインします。

az login

リソース グループを作成する

az group create コマンドで Azure リソース グループを作成します。 リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az group create \
    --name <resource-group> \
    --location <location>

ストレージ アカウントの作成

az storage account create コマンドで汎用のストレージ アカウントを作成します。 汎用のストレージ アカウントは、BLOB、ファイル、テーブル、およびキューという 4 つのサービスすべてに使用できます。

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az storage account create \
    --name <storage-account> \
    --resource-group <resource-group> \
    --location <location> \
    --sku Standard_ZRS \
    --encryption-services blob

コンテナーを作成する

BLOB は常にコンテナーにアップロードされます。 コンピューター上のファイルをフォルダーで整理するように、コンテナー内の BLOB のグループを整理できます。 BLOB を格納するコンテナーは、az storage container create コマンドで作成します。

次の例では、Microsoft Entra アカウントを使用して、コンテナーの作成操作を承認します。 コンテナーを作成する前に、ストレージ BLOB データ共同作成者ロールを自分に割り当てます。 自分がアカウント オーナーである場合でも、ストレージ アカウントに対してデータ操作を実行するための明示的なアクセス許可が必要となります。 Azure ロールの割り当ての詳細については、「BLOB データにアクセスするための Azure ロールを割り当てる」を参照してください。

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az ad signed-in-user show --query id -o tsv | az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee @- \
    --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"

az storage container create \
    --account-name <storage-account> \
    --name <container> \
    --auth-mode login

重要

Azure ロールの割り当ての反映には数分かかることがあります。

ストレージ アカウント キーを使用して、コンテナーの作成操作を承認することもできます。 Azure CLI を使用したデータ操作の承認について詳しくは、「Azure CLI を使用して BLOB またはキュー データへのアクセスを承認する」を参照してください。

BLOB をアップロードする

Blob Storage は、ブロック BLOB、追加 BLOB、およびページ BLOB をサポートします。 このクイックスタートの例では、ブロック BLOB を使用する方法を示します。

まず、ブロック BLOB にアップロードするファイルを作成します。 Azure Cloud Shell を使用している場合は、次のコマンドを使用してファイルを作成します。

vi helloworld

ファイルが開いたら、 [挿入] を押します。 「Hello world」と入力し、Esc を押します。次に、「 :x」と入力し、Enter を押します。

この例では、最後のステップで az storage blob upload コマンドを使って作成したコンテナーに BLOB をアップロードします。 ファイルはルート ディレクトリに作成されているので、ファイル パスを指定する必要はありません。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az storage blob upload \
    --account-name <storage-account> \
    --container-name <container> \
    --name myFile.txt \
    --file myFile.txt \
    --auth-mode login

この操作では、BLOB がまだ存在しない場合は作成し、既に存在する場合は上書きします。 続行する前に、希望する数のファイルをアップロードします。

Azure CLI を使用して BLOB をアップロードすると、http プロトコルと https プロトコルを介してそれぞれの REST API 呼び出しが発行されます。

同時に複数のファイルをアップロードするには、az storage blob upload-batch コマンドを使用できます。

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

コンテナー内の BLOB を一覧表示するには、az storage blob list コマンドを使います。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az storage blob list \
    --account-name <storage-account> \
    --container-name <container> \
    --output table \
    --auth-mode login

BLOB をダウンロードする

前にアップロードした BLOB をダウンロードするには、az storage blob download コマンドを使います。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az storage blob download \
    --account-name <storage-account> \
    --container-name <container> \
    --name myFile.txt \
    --file <~/destination/path/for/file> \
    --auth-mode login

AzCopy でのデータ転送

AzCopy コマンド ライン ユーティリティは、Azure Storage に対する高速かつスクリプトで制御可能なデータ転送を実現します。 Blob Storage や Azure Files との間のデータ転送に AzCopy を使用できます。 最新バージョンである AzCopy v10 の詳細については、「AzCopy を使ってみる」を参照してください。 Blob Storage での AzCopy v10 の使用については、「AzCopy と Blob Storage でデータを転送する」を参照してください。

次の例では、AzCopy を使用してローカル ファイルを BLOB にアップロードします。 サンプルの値は忘れずに実際の値に置き換えてください。

azcopy login
azcopy copy 'C:\myDirectory\myFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myFile.txt'

リソースをクリーンアップする

ストレージ アカウントなど、このクイックスタートの一部として作成したリソースを削除する場合は、az group delete コマンドを使用してリソース グループを削除します。 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。

az group delete \
    --name <resource-group> \
    --no-wait

次のステップ

このクイックスタートでは、ローカル ファイル システムと Azure Blob Storage 内のコンテナーとの間でファイルを転送する方法について学習しました。 Azure CLI を使用した BLOB ストレージ操作の詳細については、以下のオプションを選択してください。