クイック スタート:Azure PowerShell を使用して BLOB をアップロード、ダウンロード、および一覧表示するQuickstart: Upload, download, and list blobs by using Azure PowerShell

Azure PowerShell モジュールを使用して Azure リソースを作成および管理します。Use the Azure PowerShell module to create and manage Azure resources. Azure リソースの作成または管理は、PowerShell のコマンド ラインまたはスクリプトから行うことができます。Creating or managing Azure resources can be done from the PowerShell command line or in scripts. このガイドでは、PowerShell を使用してローカル ディスクと Azure Blob Storage の間でファイルを転送する方法について説明します。This guide describes using PowerShell to transfer files between local disk and Azure Blob storage.

前提条件Prerequisites

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

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

このクイック スタートでは、Azure PowerShell モジュール Az バージョン 0.7 以降が必要です。This quickstart requires the Azure PowerShell module Az version 0.7 or later. バージョンを確認するには、Get-InstalledModule -Name Az -AllVersions | select Name,Version を実行します。Run Get-InstalledModule -Name Az -AllVersions | select Name,Version to find the version. インストールまたはアップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure PowerShell module.

Azure へのサインインSign in to Azure

Connect-AzAccount コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。Sign in to your Azure subscription with the Connect-AzAccount command and follow the on-screen directions.

Connect-AzAccount

使用する場所がわからない場合、利用できる場所を一覧表示できます。If you don't know which location you want to use, you can list the available locations. 次のコード例を使用して場所の一覧を表示し、使用する場所を見つけます。Display the list of locations by using the following code example and find the one you want to use. この例では、eastus を使います。This example uses eastus. 場所を変数に格納し、この変数を使用することで、1 か所で場所を変更できます。Store the location in a variable and use the variable so you can change it in one place.

Get-AzLocation | select Location
$location = "eastus"

リソース グループの作成Create a resource group

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

$resourceGroup = "myResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location

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

New-AzStorageAccount を使用して、LRS レプリケーション付きの標準の汎用ストレージ アカウントを作成します。Create a standard, general-purpose storage account with LRS replication by using New-AzStorageAccount. 次に、使用するストレージ アカウントを定義するストレージ アカウント コンテキストを取得します。Next, get the storage account context that defines the storage account you want to use. ストレージ アカウントを操作するときは、資格情報を繰り返し渡す代わりに、このコンテキストを参照します。When acting on a storage account, reference the context instead of repeatedly passing in the credentials. 次の例を使用して、ローカル冗長ストレージ (LRS) と BLOB 暗号化機能 (既定で有効になります) を備える mystorageaccount というストレージ アカウントを作成します。Use the following example to create a storage account called mystorageaccount with locally redundant storage (LRS) and blob encryption (enabled by default).

$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
  -Name "mystorageaccount" `
  -SkuName Standard_LRS `
  -Location $location `

$ctx = $storageAccount.Context

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

BLOB は常にコンテナーにアップロードされます。Blobs are always uploaded into a container. コンピューター上のファイルをフォルダーで整理するように、BLOB のグループを整理できます。You can organize groups of blobs like the way you organize your files on your computer in folders.

コンテナー名を設定し、New-AzStorageContainer を使用してコンテナーを作成します。Set the container name, then create the container by using New-AzStorageContainer. blob に対するアクセス許可を設定して、ファイルのパブリック アクセスを許可します。Set the permissions to blob to allow public access of the files. この例でのコンテナー名は quickstartblobs です。The container name in this example is quickstartblobs.

$containerName = "quickstartblobs"
new-AzStoragecontainer -Name $containerName -Context $ctx -Permission blob

BLOB をコンテナーにアップロードするUpload blobs to the container

Blob Storage は、ブロック BLOB、追加 BLOB、およびページ BLOB をサポートします。Blob storage supports block blobs, append blobs, and page blobs. IaaS VM をバックアップするための VHD ファイルはページ BLOB です。VHD files that back IaaS VMs are page blobs. 追加 BLOB は、ファイルに書き込んでからも情報を追加し続ける場合などの、ログ記録に使用します。Use append blobs for logging, such as when you want to write to a file and then keep adding more information. BLOB ストレージに格納されているほとんどのファイルはブロック BLOB です。Most files stored in Blob storage are block blobs.

ファイルをブロック BLOB にアップロードするには、コンテナー参照を取得してから、そのコンテナー内のブロック BLOB への参照を取得します。To upload a file to a block blob, get a container reference, then get a reference to the block blob in that container. BLOB 参照を取得したら、Set-AzStorageBlobContent を使用して、それにデータをアップロードできます。Once you have the blob reference, you can upload data to it by using Set-AzStorageBlobContent. この処理により、BLOB が存在しない場合は作成され、存在する場合は上書きされます。This operation creates the blob if it doesn't exist, or overwrites the blob if it exists.

次の例では、ローカル ディスク上の D:\_TestImages フォルダーの Image001.jpgImage002.png を作成したコンテナーにアップロードします。The following examples upload Image001.jpg and Image002.png from the D:\_TestImages folder on the local disk to the container you created.

# upload a file
set-AzStorageblobcontent -File "D:\_TestImages\Image001.jpg" `
  -Container $containerName `
  -Blob "Image001.jpg" `
  -Context $ctx 

# upload another file
set-AzStorageblobcontent -File "D:\_TestImages\Image002.png" `
  -Container $containerName `
  -Blob "Image002.png" `
  -Context $ctx

続行する前に、希望する数のファイルをアップロードします。Upload as many files as you like before continuing.

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

Get-AzStorageBlob を使用して、コンテナー内の BLOB の一覧を取得します。Get a list of blobs in the container by using Get-AzStorageBlob. この例では、アップロードされた BLOB の名前だけを示しています。This example shows just the names of the blobs uploaded.

Get-AzStorageBlob -Container $ContainerName -Context $ctx | select Name

BLOB をダウンロードするDownload blobs

BLOB をローカル ディスクにダウンロードします。Download the blobs to your local disk. ダウンロードする BLOB ごとに名前を設定し、Get-AzStorageBlobContent を呼び出して BLOB をダウンロードします。For each blob you want to download, set the name and call Get-AzStorageBlobContent to download the blob.

この例では、BLOB をローカル ディスク上の D:\_TestImages\Downloads にダウンロードします。This example downloads the blobs to D:\_TestImages\Downloads on the local disk.

# download first blob
Get-AzStorageblobcontent -Blob "Image001.jpg" `
  -Container $containerName `
  -Destination "D:\_TestImages\Downloads\" `
  -Context $ctx 

# download another blob
Get-AzStorageblobcontent -Blob "Image002.png" `
  -Container $containerName `
  -Destination "D:\_TestImages\Downloads\" `
  -Context $ctx

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 との間でデータを転送します。Use AzCopy to transfer data to and from Blob, File, and Table storage.

簡単な例として、PowerShell ウィンドウ内から、myfile.txt という名前のファイルを mystoragecontainer コンテナーにアップロードするための AzCopy コマンドを次に示します。As a quick example, here's the AzCopy command for uploading a file called myfile.txt to the mystoragecontainer container from within a PowerShell window.

./AzCopy `
    /Source:C:\myfolder `
    /Dest:https://mystorageaccount.blob.core.windows.net/mystoragecontainer `
    /DestKey:<storage-account-access-key> `
    /Pattern:"myfile.txt"

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

作成したすべての資産を削除します。Remove all of the assets you've created. アセットを削除する最も簡単な方法は、リソース グループを削除することです。The easiest way to remove the assets is to delete the resource group. リソース グループを削除すると、そのグループに含まれるすべてのリソースも削除されます。Removing the resource group also deletes all resources included within the group. 次の例では、リソース グループを削除して、ストレージ アカウントとリソース グループ自体を削除しています。In the following example, removing the resource group removes the storage account and the resource group itself.

Remove-AzResourceGroup -Name $resourceGroup

次の手順Next steps

このクイック スタートでは、ローカル ディスクと Azure Blob Storage の間でファイルを転送しました。In this quickstart, you transferred files between a local disk and Azure Blob storage. PowerShell を使用した BLOB ストレージの操作については、Azure Storage で Azure PowerShell を使用する方法に関するページに進みます。To learn more about working with Blob storage by using PowerShell, continue to How-to use Azure PowerShell with Azure Storage.

Microsoft Azure PowerShell Storage コマンドレット リファレンスMicrosoft Azure PowerShell Storage cmdlets reference

Microsoft Azure ストレージ エクスプローラーMicrosoft Azure Storage Explorer