次の方法で共有


クイック スタート: 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 の概要」を参照してください。

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

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

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

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

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

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

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

Blob Storage に対するデータ操作用の Azure CLI コマンドでは、 --auth-mode パラメーターがサポートされています。これにより、特定の操作を承認する方法を指定できます。 --auth-mode パラメーターを login に設定して、Microsoft Entra 資格情報で承認します。 詳細については、「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

Important

Azure ロールの割り当てが反映されるまでに数分かかる場合があります。

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

BLOB をアップロードする

BLOB ストレージでは、ブロック BLOB、追加 BLOB、ページ BLOB がサポートされます。 このクイック スタートの例では、ブロック BLOB を操作する方法を示します。

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

vi helloworld

ファイルが開いたら、insert キーを押 します「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 を一覧表示する

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

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

BLOB をダウンロードする

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

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 の高パフォーマンスでスクリプト可能なデータ転送を提供します。 AzCopy を使用して、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 Storage の操作の詳細については、以下のオプションを選択してください。