クイック スタート:Azure CLI を使用して BLOB を作成、ダウンロード、一覧表示するQuickstart: Create, download, and list blobs with Azure CLI

Azure CLI は、Azure リソースを管理するための、Azure のコマンド ライン エクスペリエンスです。The Azure CLI is Azure's command-line experience for managing Azure resources. ブラウザーで、Azure Cloud Shell を使用して操作することができます。You can use it in your browser with Azure Cloud Shell. また、macOS、Linux、または Windows 上にインストールし、コマンド ラインから実行することもできます。You can also install it on macOS, Linux, or Windows and run it from the command line. このクイック スタートでは、Azure CLI を使用して、Azure Blob Storage との間でデータをアップロードおよびダウンロードする方法を説明します。In this quickstart, you learn to use the Azure CLI to upload and download data to and from Azure Blob storage.

注意

この記事で説明されている機能は、階層構造の名前空間を持つアカウントで使用できるようになりました。The features described in this article are now available to accounts that have a hierarchical namespace. 制限事項については、「Azure Data Lake Storage Gen2 で使用できる BLOB ストレージ機能」の記事を参照してください。To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

前提条件Prerequisites

Azure Storage にアクセスするには、Azure サブスクリプションが必要です。To access Azure Storage, you'll need an Azure subscription. まだサブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't already have a subscription, create a free account before you begin.

Azure Storage へのアクセスはすべて、ストレージ アカウント経由で行われます。All access to Azure Storage takes place through a storage account. このクイック スタートでは、Azure portal、Azure PowerShell、または Azure CLI を使用して、ストレージ アカウントを作成します。For this quickstart, create a storage account using the Azure portal, Azure PowerShell, or Azure CLI. ストレージ アカウントの作成については、「ストレージ アカウントの作成」を参照してください。For help creating a storage account, see Create a storage account.

Azure CLI の環境を準備するPrepare your environment for the Azure CLI

  • Azure Cloud Shell で Bash 環境を使用します。Use the Bash environment in Azure Cloud Shell.

    新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window

  • 必要に応じて、Azure CLI をインストールして、CLI リファレンス コマンドを実行します。If you prefer, install the Azure CLI to run CLI reference commands.

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。If you're using a local installation, sign in to the Azure CLI by using the az login command. 認証プロセスを完了するには、ターミナルに表示される手順に従います。To finish the authentication process, follow the steps displayed in your terminal. その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。For additional sign-in options, see Sign in with the Azure CLI.

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。When you're prompted, install Azure CLI extensions on first use. 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。For more information about extensions, see Use extensions with the Azure CLI.

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。Run az version to find the version and dependent libraries that are installed. 最新バージョンにアップグレードするには、az upgrade を実行します。To upgrade to the latest version, run az upgrade.

  • この記事では、Azure CLI のバージョン 2.0.46 以降が必要です。This article requires version 2.0.46 or later of the Azure CLI. Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。If using Azure Cloud Shell, the latest version is already installed.

Blob Storage へのアクセスを承認するAuthorize access to Blob storage

Blob Storage へのアクセスは、Azure CLI から Azure AD の資格情報を使用するか、またはストレージ アカウントのアクセス キーを使用して承認することができます。You can authorize access to Blob storage from the Azure CLI either with Azure AD credentials or by using the storage account access key. Azure AD の資格情報を使用することをお勧めします。Using Azure AD credentials is recommended. この記事では、Azure AD を使用して、Blob Storage の操作を承認する方法について説明します。This article shows how to authorize Blob storage operations using Azure AD.

Blob Storage を対象とするデータの操作では、Azure CLI コマンドで --auth-mode パラメーターがサポートされます。特定の操作を承認する方法をパラメーターで指定できます。Azure CLI commands for data operations against Blob storage support the --auth-mode parameter, which enables you to specify how to authorize a given operation. Azure AD の資格情報を使用して承認するには、--auth-mode パラメーターを login に設定します。Set the --auth-mode parameter to login to authorize with Azure AD credentials. 詳細については、「Azure CLI を使用して BLOB またはキュー データへのアクセスを承認する」を参照してください。For more information, see Authorize access to blob or queue data with Azure CLI.

--auth-mode パラメーターがサポートされるのは、Blob Storage のデータの操作だけです。Only Blob storage data operations support the --auth-mode parameter. リソース グループの作成やストレージ アカウントの作成など、管理操作の承認では自動的に Azure AD の資格情報が使用されます。Management operations, such as creating a resource group or storage account, automatically use Azure AD credentials for authorization.

リソース グループを作成するCreate a resource group

az group create コマンドで Azure リソース グループを作成します。Create an Azure resource group with the az group create command. リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。A resource group is a logical container into which Azure resources are deployed and managed.

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

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

ストレージ アカウントの作成Create a storage account

az storage account create コマンドで汎用のストレージ アカウントを作成します。Create a general-purpose storage account with the az storage account create command. 汎用のストレージ アカウントは、BLOB、ファイル、テーブル、およびキューという 4 つのサービスすべてに使用できます。The general-purpose storage account can be used for all four services: blobs, files, tables, and queues.

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

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

コンテナーを作成するCreate a container

BLOB は常にコンテナーにアップロードされます。Blobs are always uploaded into a container. コンピューター上のファイルをフォルダーで整理するように、コンテナー内の BLOB のグループを整理できます。You can organize groups of blobs in containers similar to the way you organize your files on your computer in folders. BLOB を格納するコンテナーは、az storage container create コマンドで作成します。Create a container for storing blobs with the az storage container create command.

次の例では、Azure AD アカウントを使用して、コンテナーの作成操作を承認します。The following example uses your Azure AD account to authorize the operation to create the container. コンテナーを作成する前に、ストレージ BLOB データ共同作成者ロールを自分に割り当てます。Before you create the container, assign the Storage Blob Data Contributor role to yourself. 自分がアカウント オーナーである場合でも、ストレージ アカウントに対してデータ操作を実行するための明示的なアクセス許可が必要となります。Even if you are the account owner, you need explicit permissions to perform data operations against the storage account. Azure ロールの割り当ての詳細については、Azure CLI を使用したアクセス用の Azure ロールの割り当てに関するページを参照してください。For more information about assigning Azure roles, see Use Azure CLI to assign an Azure role for access.

山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

az ad signed-in-user show --query objectId -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 role assignments may take a few minutes to propagate.

ストレージ アカウント キーを使用して、コンテナーの作成操作を承認することもできます。You can also use the storage account key to authorize the operation to create the container. Azure CLI を使用したデータ操作の承認について詳しくは、「Azure CLI を使用して BLOB またはキュー データへのアクセスを承認する」を参照してください。For more information about authorizing data operations with Azure CLI, see Authorize access to blob or queue data with Azure CLI.

BLOB をアップロードするUpload a blob

Blob Storage は、ブロック BLOB、追加 BLOB、およびページ BLOB をサポートします。Blob storage supports block blobs, append blobs, and page blobs. このクイックスタートの例では、ブロック BLOB を使用する方法を示します。The examples in this quickstart show how to work with block blobs.

まず、ブロック BLOB にアップロードするファイルを作成します。First, create a file to upload to a block blob. Azure Cloud Shell を使用している場合は、次のコマンドを使用してファイルを作成します。If you're using Azure Cloud Shell, use the following command to create a file:

vi helloworld

ファイルが開いたら、 [挿入] を押します。When the file opens, press insert. Hello world」と入力し、Esc を押します。次に、「 :x」と入力し、Enter を押します。Type Hello world, then press Esc. Next, type :x, then press Enter.

この例では、最後のステップで az storage blob upload コマンドを使って作成したコンテナーに BLOB をアップロードします。In this example, you upload a blob to the container you created in the last step using the az storage blob upload command. ファイルはルート ディレクトリに作成されているので、ファイル パスを指定する必要はありません。It's not necessary to specify a file path since the file was created at the root directory. 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

az storage blob upload \
    --account-name <storage-account> \
    --container-name <container> \
    --name helloworld \
    --file helloworld \
    --auth-mode login

この操作では、BLOB がまだ存在しない場合は作成し、既に存在する場合は上書きします。This operation creates the blob if it doesn't already exist, and overwrites it if it does. 続行する前に、希望する数のファイルをアップロードします。Upload as many files as you like before continuing.

同時に複数のファイルをアップロードするには、az storage blob upload-batch コマンドを使用できます。To upload multiple files at the same time, you can use the az storage blob upload-batch command.

コンテナー内の BLOB を一覧表示するList the blobs in a container

コンテナー内の BLOB を一覧表示するには、az storage blob list コマンドを使います。List the blobs in the container with the az storage blob list command. 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

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

BLOB をダウンロードするDownload a blob

前にアップロードした BLOB をダウンロードするには、az storage blob download コマンドを使います。Use the az storage blob download command to download the blob you uploaded earlier. 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

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

AzCopy でのデータ転送Data transfer with AzCopy

AzCopy コマンド ライン ユーティリティは、Azure Storage に対する高速かつスクリプトで制御可能なデータ転送を実現します。The AzCopy command-line utility offers high-performance, scriptable data transfer for Azure Storage. Blob Storage や Azure Files との間のデータ転送に AzCopy を使用できます。You can use AzCopy to transfer data to and from Blob storage and Azure Files. 最新バージョンである AzCopy v10 の詳細については、「AzCopy を使ってみる」を参照してください。For more information about AzCopy v10, the latest version of AzCopy, see Get started with AzCopy. Blob Storage での AzCopy v10 の使用については、「AzCopy と Blob Storage でデータを転送する」を参照してください。To learn about using AzCopy v10 with Blob storage, see Transfer data with AzCopy and Blob storage.

次の例では、AzCopy を使用してローカル ファイルを BLOB にアップロードします。The following example uses AzCopy to upload a local file to a blob. サンプルの値は忘れずに実際の値に置き換えてください。Remember to replace the sample values with your own values:

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

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

ストレージ アカウントなど、このクイックスタートの一部として作成したリソースを削除する場合は、az group delete コマンドを使用してリソース グループを削除します。If you want to delete the resources you created as part of this quickstart, including the storage account, delete the resource group by using the az group delete command. 山かっこ内のプレースホルダーをお客様独自の値に置き換えてください。Remember to replace placeholder values in angle brackets with your own values:

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

次のステップNext steps

このクイックスタートでは、ローカル ファイル システムと Azure Blob Storage 内のコンテナーとの間でファイルを転送する方法について学習しました。In this quickstart, you learned how to transfer files between a local file system and a container in Azure Blob storage. Azure CLI を使用した BLOB ストレージの操作をさらに学習するには、BLOB ストレージ用の Azure CLI サンプルを調べてください。To learn more about working with Blob storage by using Azure CLI, explore Azure CLI samples for Blob storage.