クイック スタート:Azure CLI を使用して BLOB をアップロード、ダウンロード、および一覧表示するQuickstart: Upload, download, and list blobs using the 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.

注意

この記事で説明されている機能は、Data Lake Storage 上でのマルチプロトコル アクセスのパブリック プレビューに登録した場合にのみ、階層型名前空間を持つアカウントで使用できます。The features described in this article are available to accounts that have a hierarchical namespace only if you enroll in the public preview of multi-protocol access on Data Lake Storage. 制限事項を確認するには、既知の問題に関する記事を参照してください。To review limitations, see the known issues 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 the account, see Create a storage account.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell では、bashPowerShell のいずれかを使用して Azure サービスを操作できます。Cloud Shell lets you use either bash or PowerShell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を起動するには:To launch Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [試してみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を起動します。Launch Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl + Shift + V キー、macOS では Cmd + Shift + V キーを使用して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Enter キーを押して、コードを実行します。Press Enter to run the code.

CLI をローカルにインストールして使用する場合、このクイック スタートを実施するには、Azure CLI バージョン 2.0.4 以降を実行している必要があります。If you choose to install and use the CLI locally, this quickstart requires that you are running the Azure CLI version 2.0.4 or later. az --version を実行して、バージョンを判断します。Run az --version to determine your version. インストールまたはアップグレードが必要な場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install the Azure CLI.

リソース グループの作成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.

az group create \
    --name myResourceGroup \
    --location eastus

ストレージ アカウントの作成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.

az storage account create \
    --name mystorageaccount \
    --resource-group myResourceGroup \
    --location eastus \
    --sku Standard_LRS \
    --encryption blob

ストレージ アカウントの資格情報を指定するSpecify storage account credentials

Azure CLI では、このチュートリアルのほとんどのコマンドにストレージ アカウントの資格情報が必要です。The Azure CLI needs your storage account credentials for most of the commands in this tutorial. 機能の実行時にいくつかのオプションもありますが、最も簡単な指定方法は、AZURE_STORAGE_ACCOUNT および AZURE_STORAGE_KEY 環境変数を設定することです。While there are several options for doing so, one of the easiest ways to provide them is to set AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables.

まず、az storage account keys list コマンドを使用してストレージ アカウント キーを表示します。First, display your storage account keys by using the az storage account keys list command:

az storage account keys list \
    --account-name mystorageaccount \
    --resource-group myResourceGroup \
    --output table

次に AZURE_STORAGE_ACCOUNT および AZURE_STORAGE_KEY 環境変数を設定します。Now, set the AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY environment variables. この設定には、Bash シェルで export コマンドを使用します。You can do this in the Bash shell by using the export command:

export AZURE_STORAGE_ACCOUNT="mystorageaccountname"
export AZURE_STORAGE_KEY="myStorageAccountKey"

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

BLOB は常にコンテナーにアップロードされます。Blobs are always uploaded into a container. コンピューター上のファイルをフォルダーで整理するように、BLOB のグループを整理できます。You can organize groups of blobs 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.

az storage container create --name mystoragecontainer

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

Blob Storage は、ブロック BLOB、追加 BLOB、およびページ BLOB をサポートします。Blob storage supports block blobs, append blobs, and page blobs. BLOB ストレージに格納されるほとんどのファイルは、ブロック BLOB として格納されます。Most files stored in Blob storage are stored as block blobs. 追加 BLOB は、ログ記録などのため、既存のコンテンツを変更することなく既存の BLOB にデータを追加する必要がある場合に使います。Append blobs are used when data must be added to an existing blob without modifying its existing contents, such as for logging. ページ BLOB は、IaaS 仮想マシンの VHD ファイルをバックアップします。Page blobs back the VHD files of IaaS virtual machines.

まず、BLOB にアップロードするファイルを作成します。First, create a file to upload to a blob. Azure Cloud Shell を使用している場合は、次の手順を使用してファイルを作成します。vi helloworld を実行し、ファイルが開いたら、Insert キーを押して、"Hello world" と入力し、Esc キーを押して、:x を入力し Enter キーを押します。If you're using the Azure cloud shell, use the following in order to create a file: vi helloworld when the file opens, press insert, type "Hello world" and then press Esc and enter :x and 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.

az storage blob upload \
    --container-name mystoragecontainer \
    --name blobName \
    --file ~/path/to/local/file

前に説明した方法を使用して、Azure Cloud Shell にファイルを作成した場合は、この CLI コマンドを代わりに使用できます (このファイルはベース ディレクトリで作成されているため、パスを指定する必要はないことに注意してください。通常、パスを指定する必要はありません)。If you used the previously described method to create a file in your Azure Cloud Shell, you can use this CLI command instead (note that you didn't need to specify a path since the file was created at the base directory, normally you'd need to specify a path):

az storage blob upload \
    --container-name mystoragecontainer \
    --name helloworld \
    --file helloworld

この操作では、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.

az storage blob list \
    --container-name mystoragecontainer \
    --output table

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

前にアップロードした BLOB をダウンロードするには、az storage blob download コマンドを使います。Use the az storage blob download command to download the blob you uploaded earlier.

az storage blob download \
    --container-name mystoragecontainer \
    --name blobName \
    --file ~/destination/path/for/file

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

AzCopy ユーティリティは、Azure Storage 用のスクリプト可能な高性能データ転送のためのもう 1 つのオプションです。The AzCopy utility is another option for high-performance scriptable data transfer for Azure Storage. AzCopy を使って、Blob Storage、File Storage、および Table Storage との間で双方向にデータを転送できます。You can use AzCopy to transfer data to and from Blob, File, and Table storage.

次に示す AzCopy コマンドの簡単な例では、myfile.txt ファイルを mystoragecontainer コンテナーにアップロードしています。As a quick example, here is the AzCopy command for uploading a file called myfile.txt to the mystoragecontainer container.

azcopy \
    --source /mnt/myfiles \
    --destination https://mystorageaccount.blob.core.windows.net/mystoragecontainer \
    --dest-key <storage-account-access-key> \
    --include "myfile.txt"

リソースのクリーンアップClean up resources

このクイック スタートで作成したストレージ アカウントも含め、リソース グループ内のどのリソースも必要なくなった場合は、az group delete コマンドでリソース グループを削除します。If you no longer need any of the resources in your resource group, including the storage account you created in this Quickstart, delete the resource group with the az group delete command.

az group delete --name myResourceGroup

次の手順Next steps

このクイックスタートでは、ローカル ディスクと Azure Blob Storage のコンテナーとの間でファイルを転送する方法について学習しました。In this Quickstart, you learned how to transfer files between local disk and a container in Azure Blob storage. Azure Storage の BLOB の他の処理について詳しくは、Azure Blob Storage の使用に関するチュートリアルに進んでください。To learn more about working with blobs in Azure Storage, continue to the tutorial for working with Azure Blob storage.