AzCopy on Windows を使ったデータの転送Transfer data with the AzCopy on Windows

AzCopy は、最適なパフォーマンスのためのシンプルなコマンドを使用して Microsoft Azure Blob Storage、File Storage、および Table Storage との間でデータをコピーするために設計されたコマンドライン ユーティリティです。AzCopy is a command-line utility designed for copying data to/from Microsoft Azure Blob, File, and Table storage, using simple commands designed for optimal performance. ファイル システムとストレージ アカウント間、またはストレージ アカウント間でデータをコピーできます。You can copy data between a file system and a storage account, or between storage accounts.

ダウンロードできる AzCopy には、2 つのバージョンがあります。There are two versions of AzCopy that you can download. AzCopy on Windows は .NET Framework を使って構築され、Windows スタイルのコマンド ライン オプションが備わっています。AzCopy on Windows is built with .NET Framework, and offers Windows style command-line options. AzCopy on Linux は .NET Core Framework を使って構築されています。その対象プラットフォームは Linux で、POSIX スタイルのコマンド ライン オプションが備わっています。AzCopy on Linux is built with .NET Core Framework which targets Linux platforms offering POSIX style command-line options. この記事では、AzCopy on Windows を取り上げます。This article covers AzCopy on Windows.

Windows での AzCopy のダウンロードとインストールDownload and install AzCopy on Windows

最新バージョンの AzCopy on Windows をダウンロードします。Download the latest version of AzCopy on Windows.

インストーラーを使用して AzCopy on Windows をインストールした後、コマンド ウィンドウを開き、AzCopy.exe 実行可能ファイルが格納されている、コンピューターの AzCopy インストール ディレクトリに移動します。After installing AzCopy on Windows using the installer, open a command window and navigate to the AzCopy installation directory on your computer - where the AzCopy.exe executable is located. 必要に応じて、AzCopy のインストール先をシステム パスに追加できます。If desired, you can add the AzCopy installation location to your system path. 既定で、AzCopy は %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy または %ProgramFiles%\Microsoft SDKs\Azure\AzCopy にインストールされます。By default, AzCopy is installed to %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy or %ProgramFiles%\Microsoft SDKs\Azure\AzCopy.

AzCopy コマンドの基本Writing your first AzCopy command

AzCopy コマンドの基本構文は次のとおりです。The basic syntax for AzCopy commands is:

AzCopy /Source:<source> /Dest:<destination> [Options]

以下の例では、Microsoft Azure BLOB、File、Table との間でデータをコピーする多様なシナリオを紹介しています。The following examples demonstrate a variety of scenarios for copying data to and from Microsoft Azure Blobs, Files, and Tables. 各サンプルで使用されているパラメーターの詳細な説明については、「 AzCopy のパラメーター 」を参照してください。Refer to the AzCopy Parameters section for a detailed explanation of the parameters used in each sample.

Blob Storage から BLOB をダウンロードするDownload blobs from Blob storage

AzCopy を使用して BLOB をダウンロードするいくつかの方法を見てみましょう。Let's look at several ways to download blobs using AzCopy.

1 つの BLOB をダウンロードするDownload a single blob

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"

フォルダー C:\myfolder が存在しない場合、AzCopy によってフォルダーが作成され、この新しいフォルダーに abc.txt がダウンロードされます。Note that if the folder C:\myfolder does not exist, AzCopy creates it and download abc.txt into the new folder.

セカンダリ リージョンから 1 つの BLOB をダウンロードするDownload a single blob from the secondary region

AzCopy /Source:https://myaccount-secondary.blob.core.windows.net/mynewcontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"

セカンダリ リージョンにアクセスするには、読み取りアクセス geo 冗長ストレージが有効になっている必要があります。Note that you must have read-access geo-redundant storage enabled to access the secondary region.

コンテナー内のすべての BLOB をダウンロードするDownload all blobs in a container

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /S

指定されたコンテナーに以下の BLOB があるとします。Assume the following blobs reside in the specified container:

abc.txt
abc1.txt
abc2.txt
vd1\a.txt
vd1\abcd.txt

ダウンロード操作後に、ディレクトリ C:\myfolder には以下のファイルがあります。After the download operation, the directory C:\myfolder includes the following files:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\vd1\a.txt
C:\myfolder\vd1\abcd.txt

オプション /S を指定しない場合、BLOB はダウンロードされません。If you do not specify option /S, no blobs are downloaded.

特定のプレフィックスの BLOB をダウンロードするDownload blobs with a specific prefix

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:a /S

指定されたコンテナーに以下の BLOB があるとします。Assume the following blobs reside in the specified container. プレフィックス a で始まるすべての BLOB がダウンロードされます。All blobs beginning with the prefix a are downloaded:

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

ダウンロード操作後に、フォルダー C:\myfolder には以下のファイルがあります。After the download operation, the folder C:\myfolder includes the following files:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt

プレフィックスは仮想ディレクトリに適用され、BLOB 名の最初の部分に付けられます。The prefix applies to the virtual directory, which forms the first part of the blob name. 前述の例では、仮想ディレクトリは指定されたプレフィックスと一致しないので、ダウンロードされません。In the example shown above, the virtual directory does not match the specified prefix, so it is not downloaded. さらに、オプション /S が指定されていない場合、AzCopy では BLOB はダウンロードされません。In addition, if the option /S is not specified, AzCopy does not download any blobs.

エクスポートしたファイルの最終変更時刻をソース BLOB と同時刻に設定するSet the last-modified time of exported files to be same as the source blobs

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT

最終変更時刻に基づいてダウンロード操作の対象から BLOB を除外することもできます。You can also exclude blobs from the download operation based on their last-modified time. たとえば、対象ファイルの最終変更時刻以降の BLOB を除外する場合、 /XN オプションを追加します。For example, if you want to exclude blobs whose last modified time is the same or newer than the destination file, add the /XN option:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XN

対象ファイルの最終変更時刻以前の BLOB を除外する場合は、/XO オプションを追加します。If you want to exclude blobs whose last modified time is the same or older than the destination file, add the /XO option:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XO

BLOB を Blob Storage にアップロードするUpload blobs to Blob storage

AzCopy を使用して BLOB をアップロードするいくつかの方法を見てみましょう。Let's look at several ways to upload blobs using AzCopy.

1 つの BLOB をアップロードするUpload a single blob

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:"abc.txt"

存在しない宛先コンテナーを指定すると、AzCopy によってコンテナーが作成され、そのコンテナーにファイルがアップロードされます。If the specified destination container does not exist, AzCopy creates it and uploads the file into it.

仮想ディレクトリに 1 つの BLOB をアップロードするUpload a single blob to a virtual directory

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer/vd /DestKey:key /Pattern:abc.txt

存在しない仮想ディレクトリを指定すると、アップロードされるファイルの名前に仮想ディレクトリが含められます (たとえば、上記の例の vd/abc.txt)。If the specified virtual directory does not exist, AzCopy uploads the file to include the virtual directory in its name (e.g., vd/abc.txt in the example above).

フォルダー内のすべての BLOB をアップロードするUpload all blobs in a folder

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S

オプション /S を指定すると、指定したディレクトリの内容が再帰的にアップロードされます。つまり、すべてのサブフォルダーと、それらのサブフォルダーに含まれるファイルも BLOB ストレージにアップロードされます。Specifying option /S uploads the contents of the specified directory to Blob storage recursively, meaning that all subfolders and their files are uploaded as well. たとえば、フォルダー C:\myfolder に以下のファイルがあるとします。For instance, assume the following files reside in folder C:\myfolder:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt

アップロード操作後に、コンテナーには以下のファイルがあります。After the upload operation, the container includes the following files:

abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt

オプション /S を指定しない場合、AzCopy では再帰的にアップロードされません。If you do not specify option /S, AzCopy does not upload recursively. アップロード操作後に、コンテナーには以下のファイルがあります。After the upload operation, the container includes the following files:

abc.txt
abc1.txt
abc2.txt

特定のパターンに一致する BLOB をアップロードするUpload blobs matching a specific pattern

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:a* /S

フォルダー C:\myfolderに以下のファイルがあるとします。Assume the following files reside in folder C:\myfolder:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\xyz.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt

アップロード操作後に、コンテナーには以下のファイルがあります。After the upload operation, the container includes the following files:

abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt

オプション /S を指定しない場合、AzCopy では仮想ディレクトリ内にない BLOB のみがアップロードされます。If you do not specify option /S, AzCopy only uploads blobs that don't reside in a virtual directory:

C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt

コピー先の BLOB の MIME コンテンツの種類を指定するSpecify the MIME content type of a destination blob

既定では、AzCopy はコピー先の BLOB のコンテンツの種類を application/octet-streamに設定します。By default, AzCopy sets the content type of a destination blob to application/octet-stream. バージョン 3.1.0 以降は、オプション /SetContentType:[content-type]を使用してコンテンツの種類を明示的に指定できます。Beginning with version 3.1.0, you can explicitly specify the content type via the option /SetContentType:[content-type]. この構文は、アップロード操作におけるすべての BLOB のコンテンツの種類を設定します。This syntax sets the content type for all blobs in an upload operation.

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType:video/mp4

/SetContentType で値を指定しない場合、AzCopy は各 BLOB またはファイルのコンテンツの種類をそのファイルの拡張子に応じて設定します。If you specify /SetContentType without a value, AzCopy sets each blob or file's content type according to its file extension.

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType

BLOB を Blob Storage にコピーするCopy blobs in Blob storage

AzCopy を使用して BLOB をある場所から別の場所にコピーするいくつかの方法を見てみましょう。Let's look at several ways to copy blobs from one location to another using AzCopy.

あるコンテナーから同じストレージ アカウント内の別のコンテナーに 1 つの BLOB をコピーするCopy a single blob from one container to another within the same storage account

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceKey:key /DestKey:key /Pattern:abc.txt

ストレージ アカウント内の 1 つの BLOB をコピーすると、 サーバー側でコピー 操作が実行されます。When you copy a blob within a Storage account, a server-side copy operation is performed.

ストレージ アカウント間で 1 つの BLOB をコピーするCopy a single blob from one storage account to another

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt

複数のストレージ アカウントに 1 つの BLOB をコピーすると、 サーバー側でコピー 操作が実行されます。When you copy a blob across Storage accounts, a server-side copy operation is performed.

セカンダリ リージョンからプライマリ リージョンに 1 つの BLOB をコピーするCopy a single blob from the secondary region to the primary region

AzCopy /Source:https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1 /Dest:https://myaccount2.blob.core.windows.net/mynewcontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt

2 次記憶装置にアクセスするには、読み取りアクセス geo 冗長ストレージが有効になっている必要があります。Note that you must have read-access geo-redundant storage enabled to access secondary storage.

ストレージ アカウント間で 1 つの BLOB とそのスナップショットをコピーするCopy a single blob and its snapshots from one storage account to another

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt /Snapshot

コピー操作後、ターゲット コンテナーには BLOB とそのスナップショットが含まれます。After the copy operation, the target container includes the blob and its snapshots. 前の例の BLOB に 2 つのスナップショットが含まれる場合、コンテナーには以下の BLOB とスナップショットが含まれます。Assuming the blob in the example above has two snapshots, the container includes the following blob and snapshots:

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

あるコンテナーから別のストレージ アカウントにすべての BLOB をコピーするCopy all blobs in a container to another storage account

AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 
/Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /S

オプション /S を指定すると、指定したコンテナーのコンテンツが再帰的にアップロードされます。Specifying option /S uploads the contents of the specified container recursively. 詳細と例については、「フォルダー内のすべての BLOB をアップロードする」をご覧ください。See Upload all blobs in a folder for more information and an example.

BLOB をストレージ アカウント間で同期的にコピーするSynchronously copy blobs from one storage account to another

既定では、AzCopy は 2 つのストレージ エンドポイント間で非同期でデータをコピーします。AzCopy by default copies data between two storage endpoints asynchronously. そのため、コピー操作は、BLOB のコピー速度に関する SLA のない予備の帯域幅容量を使用してバック グラウンドで実行され、AzCopy はコピーが完了または失敗するまで定期的にコピー状態を確認します。Therefore, the copy operation runs in the background using spare bandwidth capacity that has no SLA in terms of how fast a blob is copied, and AzCopy periodically checks the copy status until the copying is completed or failed.

/SyncCopy オプションは、コピー操作が一定の速度になるようにします。The /SyncCopy option ensures that the copy operation gets consistent speed. AzCopy は、指定されたソースからローカル メモリにコピーして BLOB をダウンロードし、これを BLOB ストレージのコピー先にアップロードすることで同期コピーを実行します。AzCopy performs the synchronous copy by downloading the blobs to copy from the specified source to local memory, and then uploading them to the Blob storage destination.

AzCopy /Source:https://myaccount1.blob.core.windows.net/myContainer/ /Dest:https://myaccount2.blob.core.windows.net/myContainer/ /SourceKey:key1 /DestKey:key2 /Pattern:ab /SyncCopy

/SyncCopy は、非同期コピーと比較すると追加の送信コストが発生する可能性があります。送信コストを回避するために、ソース ストレージ アカウントと同じリージョンにある Azure VM でこのオプションを使用することをお勧めします。/SyncCopy might generate additional egress cost compared to asynchronous copy, the recommended approach is to use this option in an Azure VM that is in the same region as your source storage account to avoid egress cost.

File Storage からファイルをダウンロードするDownload files from File storage

AzCopy を使用してファイルをダウンロードするいくつかの方法を見てみましょう。Let's look at several ways to download files using AzCopy.

1 つのファイルをダウンロードするDownload a single file

AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/myfolder1/ /Dest:C:\myfolder /SourceKey:key /Pattern:abc.txt

指定されたソースが Azure ファイル共有の場合は、厳密なファイル名 ("": abc.txt) を指定して単一ファイルをダウンロードするか、オプション /S を指定して共有内の全ファイルを再帰的にダウンロードする必要があります。If the specified source is an Azure File share, then you must either specify the exact file name, (e.g. abc.txt) to download a single file, or specify option /S to download all files in the share recursively. ファイル パターンとオプション /S の両方を同時に指定しようとすると、エラーになります。Attempting to specify both a file pattern and option /S together results in an error.

ディレクトリ内のすべてのファイルをダウンロードするDownload all files in a directory

AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/ /Dest:C:\myfolder /SourceKey:key /S

空のフォルダーはダウンロードされないことにご注意ください。Note that empty folders are not downloaded.

Azure ファイル共有へのファイルのアップロードUpload files to an Azure File share

AzCopy を使用してファイルをアップロードするいくつかの方法を見てみましょう。Let's look at several ways to upload files using AzCopy.

1 つのファイルをアップロードするUpload a single file

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:abc.txt

フォルダー内のすべてのファイルをアップロードするUpload all files in a folder

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /S

空のフォルダーはアップロードされないことにご注意ください。Note that empty folders are not uploaded.

特定のパターンに一致するファイルをアップロードするUpload files matching a specific pattern

AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:ab* /S

File Storage 内のファイルをコピーするCopy files in File storage

AzCopy を使用して、Azure ファイル共有のファイルをコピーするいくつかの方法を見てみましょう。Let's look at several ways to copy files in an Azure File share using AzCopy.

ファイル共有間でコピーするCopy from one file share to another

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S

ファイル共有をまたがってファイルをコピーすると、サーバー側でコピー操作が実行されます。When you copy a file across file shares, a server-side copy operation is performed.

Azure ファイル共有から Blob Storage にコピーするCopy from an Azure File share to Blob storage

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare/ /Dest:https://myaccount2.blob.core.windows.net/mycontainer/ /SourceKey:key1 /DestKey:key2 /S

ファイル共有から BLOB にファイルをコピーすると、サーバー側でコピー操作が実行されます。When you copy a file from file share to blob, a server-side copy operation is performed.

BLOB を Blob Storage から Azure ファイル共有にコピーするCopy a blob from Blob storage to an Azure File share

AzCopy /Source:https://myaccount1.blob.core.windows.net/mycontainer/ /Dest:https://myaccount2.file.core.windows.net/myfileshare/ /SourceKey:key1 /DestKey:key2 /S

BLOB からファイル共有にファイルをコピーすると、サーバー側でコピー操作が実行されます。When you copy a file from a blob to a file share, a server-side copy operation is performed.

ファイルを同期的にコピーするSynchronously copy files

オプション /SyncCopy を指定すると、File Storage から File Storage に、File Storage から Blob Storage に、Blob Storage から File Storage にデータを同期的にコピーすることができます。AzCopy で同期的にコピーするには、ソース データをローカル メモリにダウンロードし、それを宛先に再度アップロードします。You can specify the /SyncCopy option to copy data from File Storage to File Storage, from File Storage to Blob Storage and from Blob Storage to File Storage synchronously, AzCopy does this by downloading the source data to local memory and upload it again to destination. 標準的な送信コストが適用されます。Standard egress cost applies.

AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S /SyncCopy

File Storage から Blob Storage にコピーするときの既定の BLOB タイプはブロック BLOB ですが、ユーザーはオプション /BlobType:page を指定してコピー先 BLOB タイプを変更できます。When copying from File storage to Blob storage, the default blob type is block blob; the user can specify the option /BlobType:page to change the destination blob type.

ただし /SyncCopy では、非同期コピーと比較すると、追加の送信コストが発生する可能性があります。Note that /SyncCopy might generate additional egress costs compared to asynchronous copy. この送信コストが発生しないように、このオプションは、ソース ストレージ アカウントと同じリージョンにある Azure VM で使用することをお勧めします。The recommended approach is to use this option in the Azure VM which is in the same region as your source storage account to avoid egress cost.

Table Storage からデータをエクスポートするExport data from Table storage

AzCopy を使用した Azure Table Storage からのデータのエクスポートを見てみましょう。Let's take a look at exporting data from Azure Table storage using AzCopy.

テーブルをエクスポートするExport a table

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key

AzCopy で、指定した宛先フォルダーにマニフェスト ファイルを出力します。AzCopy writes a manifest file to the specified destination folder. このマニフェスト ファイルは、インポート プロセスで、必要なデータ ファイルを特定し、データの検証を実行するために使用されます。The manifest file is used in the import process to locate the necessary data files and perform data validation. マニフェスト ファイルでは、既定で次の名前付け規則が使用されます。The manifest file uses the following naming convention by default:

<account name>_<table name>_<timestamp>.manifest

オプション /Manifest:<manifest file name> を指定してマニフェスト ファイル名を設定することもできます。User can also specify the option /Manifest:<manifest file name> to set the manifest file name.

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /Manifest:abc.manifest

Table Storage からのエクスポートを複数のファイルに分割するSplit an export from Table storage into multiple files

AzCopy /Source:https://myaccount.table.core.windows.net/mytable/ /Dest:C:\myfolder /SourceKey:key /S /SplitSize:100

AzCopy では、複数のファイルを区別できるように、分割したデータ ファイル名に ボリューム インデックス を含めます。AzCopy uses a volume index in the split data file names to distinguish multiple files. ボリューム インデックスは、パーティション キー範囲のインデックス分割されたファイルのインデックスの 2 つの部分で構成されます。The volume index consists of two parts, a partition key range index and a split file index. どちらのインデックスも 0 から始まります。Both indexes are zero-based.

パーティション キー範囲のインデックスは、ユーザーがオプション /PKRS を指定しなかった場合、0 に設定されます。The partition key range index is 0 if the user does not specify option /PKRS.

たとえば、ユーザーがオプション /SplitSizeを指定した後に、AzCopy によって 2 つのデータ ファイルが生成されたとします。For instance, suppose AzCopy generates two data files after the user specifies option /SplitSize. 生成されたデータ ファイルの名前は次のようになります。The resulting data file names might be:

myaccount_mytable_20140903T051850.8128447Z_0_0_C3040FE8.json
myaccount_mytable_20140903T051850.8128447Z_0_1_0AB9AC20.json

オプション /SplitSize の最小の値は 32 MB です。Note that the minimum possible value for option /SplitSize is 32MB. 指定された宛先が BLOB ストレージの場合、データ ファイルのサイズが BLOB サイズの上限 (200 GB) に達すると、ユーザーがオプション /SplitSize を指定しているかどうかにかかわらず、AzCopy によってデータ ファイルが分割されます。If the specified destination is Blob storage, AzCopy splits the data file once its sizes reaches the blob size limitation (200GB), regardless of whether option /SplitSize has been specified by the user.

テーブルを JSON または CSV データ ファイル形式にエクスポートするExport a table to JSON or CSV data file format

既定では、AzCopy ではテーブルは JSON データ ファイルにエクスポートされます。By default, AzCopy exports tables to JSON data files. オプション /PayloadFormat:JSON|CSV を指定すると、テーブルを JSON または CSV 形式でエクスポートできます。You can specify the option /PayloadFormat:JSON|CSV to export the tables as JSON or CSV.

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PayloadFormat:CSV

CSV ペイロード形式を指定して AzCopy を実行すると、各データ ファイルのファイル拡張子 .schema.csv が付いたスキーマ ファイルも生成されます。When specifying the CSV payload format, AzCopy also generates a schema file with file extension .schema.csv for each data file.

複数のテーブル エンティティを同時にエクスポートするExport table entities concurrently

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PKRS:"aa#bb"

ユーザーによってオプション /PKRS が指定されると、AzCopy はエンティティをエクスポートするための同時操作を開始します。AzCopy starts concurrent operations to export entities when the user specifies option /PKRS. 1 つの操作で 1 つのパーティション キー範囲がエクスポートされます。Each operation exports one partition key range.

同時操作の数もオプション /NCによって制御されます。Note that the number of concurrent operations is also controlled by option /NC. /NC が指定されていない場合でも、AzCopy はコア プロセッサ数を /NC の既定値として使用してテーブル エンティティをコピーします。AzCopy uses the number of core processors as the default value of /NC when copying table entities, even if /NC was not specified. ユーザーがオプション /PKRSを指定した場合、AzCopy は、パーティション キー範囲と明示的または暗黙的に指定された同時操作数の 2 つの値のうち小さい方を使用して、開始する同時操作の数を決定します。When the user specifies option /PKRS, AzCopy uses the smaller of the two values - partition key ranges versus implicitly or explicitly specified concurrent operations - to determine the number of concurrent operations to start. 詳細については、コマンド ラインに「 AzCopy /?:NC 」と入力してください。For more details, type AzCopy /?:NC at the command line.

テーブルを Blob Storage にエクスポートするExport a table to Blob storage

AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:https://myaccount.blob.core.windows.net/mycontainer/ /SourceKey:key1 /Destkey:key2

AzCopy は、次の名前付け規則を使用して JSON データ ファイルを BLOB コンテナーに生成します。AzCopy generates a JSON data file into the blob container with following naming convention:

<account name>_<table name>_<timestamp>_<volume index>_<CRC>.json

生成される JSON データ ファイルは、最小のメタデータ用のペイロード形式に準じます。The generated JSON data file follows the payload format for minimal metadata. このペイロード形式の詳細については、「 テーブル サービス操作のペイロード形式」を参照してください。For details on this payload format, see Payload Format for Table Service Operations.

BLOB にテーブルをエクスポートすると、AzCopy は Table エンティティをローカルの一時データ ファイルにダウンロードしてから、そのエンティティを BLOB にアップロードします。Note that when exporting tables to blobs, AzCopy downloads the Table entities to local temporary data files and then uploads those entities to the blob. この一時データ ファイルは、既定のパスが "%LocalAppData%\Microsoft\Azure\AzCopy" のジャーナル ファイル フォルダーに格納されます。オプション /Z:[ジャーナル ファイルのフォルダー] を指定してジャーナル ファイル フォルダーの場所を変更することもできます。この場合、一時データ ファイルの場所も変わります。These temporary data files are put into the journal file folder with the default path "%LocalAppData%\Microsoft\Azure\AzCopy", you can specify option /Z:[journal-file-folder] to change the journal file folder location and thus change the temporary data files location. 一時データ ファイルのサイズは、テーブル エンティティのサイズと、オプション /SplitSize で指定したサイズによって決まります。ローカル ディスクの一時データ ファイルは BLOB にアップロードされた後すぐに削除されますが、そのような一時データ ファイルを格納するのに十分なローカル ディスク領域が存在することを事前に確認しておく必要があります。The temporary data files' size is decided by your table entities' size and the size you specified with the option /SplitSize, although the temporary data file in local disk is deleted instantly once it has been uploaded to the blob, please make sure you have enough local disk space to store these temporary data files before they are deleted.

データを Table Storage にインポートするImport data into Table storage

AzCopy を使用した Azure Table Storage へのデータのインポートを見てみましょう。Let's take a look at importing data into Azure Table storage using AzCopy.

テーブルをインポートするImport a table

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.core.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace

オプション /EntityOperation は、エンティティをテーブルに挿入する方法を示します。The option /EntityOperation indicates how to insert entities into the table. 次のいずれかの値になります。Possible values are:

  • InsertOrSkip: テーブルにエンティティが存在する場合はスキップし、存在しない場合は新しいエンティティを挿入します。InsertOrSkip: Skips an existing entity or inserts a new entity if it does not exist in the table.
  • InsertOrMerge: テーブルにエンティティが存在する場合はマージし、存在しない場合は新しいエンティティを挿入します。InsertOrMerge: Merges an existing entity or inserts a new entity if it does not exist in the table.
  • InsertOrReplace: テーブルにエンティティが存在する場合は置換し、存在しない場合は新しいエンティティを挿入します。InsertOrReplace: Replaces an existing entity or inserts a new entity if it does not exist in the table.

インポート シナリオでは、オプション /PKRS を指定できません。Note that you cannot specify option /PKRS in the import scenario. 同時操作を開始するためにオプション /PKRS を指定する必要があるエクスポート シナリオとは違って、テーブルをインポートすると、AzCopy の既定で同時操作が開始されます。Unlike the export scenario, in which you must specify option /PKRS to start concurrent operations, AzCopy starts concurrent operations by default when you import a table. 開始される同時操作の既定数は、コア プロセッサの数と同じです。ただし、オプション /NC を使用して別の同時操作数を指定できます。The default number of concurrent operations started is equal to the number of core processors; however, you can specify a different number of concurrent with option /NC. 詳細については、コマンド ラインに「 AzCopy /?:NC 」と入力してください。For more details, type AzCopy /?:NC at the command line.

AzCopy は、CSV ではなく、JSON のインポートのみをサポートしています。Note that AzCopy only supports importing for JSON, not CSV. AzCopy では、ユーザーが作成した JSON およびマニフェスト ファイルからのテーブル インポートはサポートされていません。AzCopy does not support table imports from user-created JSON and manifest files. これらのファイルは両方とも、AzCopy テーブル エクスポートから取得する必要があります。Both of these files must come from an AzCopy table export. エラーが発生しないように、エクスポートされた JSON またはマニフェスト ファイルは変更しないでください。To avoid errors, please do not modify the exported JSON or manifest file.

Blob Storage からテーブルにエンティティをインポートするImport entities into a table from Blob storage

BLOB コンテナーに、Azure Table を表す JSON ファイルと、それに付随するマニフェスト ファイルが含まれるとします。Assume a Blob container contains the following: A JSON file representing an Azure Table and its accompanying manifest file.

myaccount_mytable_20140103T112020.manifest
myaccount_mytable_20140103T112020_0_0_0AF395F1DC42E952.json

次のコマンドを実行して、この BLOB コンテナー内のマニフェスト ファイルを使用し、エンティティをテーブルにインポートすることができます。You can run the following command to import entities into a table using the manifest file in that blob container:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:https://myaccount.table.core.windows.net/mytable /SourceKey:key1 /DestKey:key2 /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:"InsertOrReplace"

その他の AzCopy 機能Other AzCopy features

その他のいくつかの AzCopy 機能を見てみましょう。Let's take a look at some other AzCopy features.

宛先に存在しないデータのみをコピーするOnly copy data that doesn't exist in the destination

/XO パラメーターを指定すると古いソース リソースを、/XN パラメーターを指定すると新しいソース リソースをコピー対象から除外できます。The /XO and /XN parameters allow you to exclude older or newer source resources from being copied, respectively. 宛先に存在しないソース リソースのみをコピーする場合は、AzCopy コマンドに両方のパラメーターを指定します。If you only want to copy source resources that don't exist in the destination, you can specify both parameters in the AzCopy command:

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /XO /XN

/Source:C:\myfolder /Dest:http://myaccount.file.core.windows.net/myfileshare /DestKey:<destkey> /S /XO /XN

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:http://myaccount.blob.core.windows.net/mycontainer1 /SourceKey:<sourcekey> /DestKey:<destkey> /S /XO /XN

ソースまたは宛先がテーブルの場合、この操作はサポートされていません。Note that this is not supported when either the source or destination is a table.

コマンド ライン パラメーターを指定するための応答ファイルの使用Use a response file to specify command-line parameters

AzCopy /@:"C:\responsefiles\copyoperation.txt"

応答ファイルには、任意の AzCopy コマンド ライン パラメーターを含めることができます。You can include any AzCopy command-line parameters in a response file. AzCopy は、ファイルの内容に直接置換することで、ファイルのパラメーターをコマンド ラインで指定されているかのように処理します。AzCopy processes the parameters in the file as if they had been specified on the command line, performing a direct substitution with the contents of the file.

copyoperation.txtという名前のファイルに、以下の行が含まれているとします。Assume a response file named copyoperation.txt, that contains the following lines. 各 AzCopy パラメーターは 1 行に指定できます。Each AzCopy parameter can be specified on a single line

/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y

また、別の行に指定することもできます。or on separate lines:

/Source:http://myaccount.blob.core.windows.net/mycontainer
/Dest:C:\myfolder
/SourceKey:<sourcekey>
/S
/Y

/sourcekey パラメーターの場合、次の例のようにパラメーターが 2 行に分かれていると、AzCopy は失敗します。AzCopy fails if you split the parameter across two lines, as shown here for the /sourcekey parameter:

http://myaccount.blob.core.windows.net/mycontainer
 C:\myfolder
/sourcekey:
<sourcekey>
/S
/Y

複数の応答ファイルを使用してコマンドライン パラメーターを指定するUse multiple response files to specify command-line parameters

source.txt という名前の応答ファイルが、ソース コンテナーを次のように指定するとします。Assume a response file named source.txt that specifies a source container:

/Source:http://myaccount.blob.core.windows.net/mycontainer

さらに、 dest.txt という名前の応答ファイルは、ファイル システムの宛先フォルダーを次のように指定します。And a response file named dest.txt that specifies a destination folder in the file system:

/Dest:C:\myfolder

また、 options.txt という名前の応答ファイルは、AzCopy のオプションを次のように指定します。And a response file named options.txt that specifies options for AzCopy:

/S /Y

すべてディレクトリ C:\responsefilesに格納されているこれらの応答ファイルを使用して AzCopy を呼び出すには、次のコマンドを使用します。To call AzCopy with these response files, all of which reside in a directory C:\responsefiles, use this command:

AzCopy /@:"C:\responsefiles\source.txt" /@:"C:\responsefiles\dest.txt" /SourceKey:<sourcekey> /@:"C:\responsefiles\options.txt"   

AzCopy は次のように、個々のパラメーターがすべてコマンド ラインで指定されたかのようにこのコマンドを処理します。AzCopy processes this command just as it would if you included all of the individual parameters on the command line:

AzCopy /Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y

共有アクセス署名 (SAS) の指定Specify a shared access signature (SAS)

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceSAS:SAS1 /DestSAS:SAS2 /Pattern:abc.txt

コンテナー URI に対して SAS を指定することもできます。You can also specify a SAS on the container URI:

AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken /Dest:C:\myfolder /S

ジャーナル ファイル フォルダーJournal file folder

AzCopy にコマンドが発行されるたびに、AzCopy は既定のフォルダーまたはこのオプションで指定されたフォルダーにジャーナル ファイルが存在するかどうかを確認します。Each time you issue a command to AzCopy, it checks whether a journal file exists in the default folder, or whether it exists in a folder that you specified via this option. どちらの場所にもジャーナル ファイルがない場合は、AzCopy は新しい操作であると認識し、新しいジャーナル ファイルを作成します。If the journal file does not exist in either place, AzCopy treats the operation as new and generates a new journal file.

既存のジャーナル ファイルがある場合は、AzCopy は入力されたコマンド ラインがジャーナル ファイルのコマンド ラインと一致するかどうかを確認します。If the journal file does exist, AzCopy checks whether the command line that you input matches the command line in the journal file. 2 つのコマンド ラインが一致する場合、AzCopy は未完了の操作を再開します。If the two command lines match, AzCopy resumes the incomplete operation. 一致しない場合は、ジャーナル ファイルを上書きして新しい操作を開始するか、現在の操作を取り消すかをたずねるメッセージが表示されます。If they do not match, you are prompted to either overwrite the journal file to start a new operation, or to cancel the current operation.

ジャーナル ファイルに既定の場所を使用する場合:If you want to use the default location for the journal file:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z

前に示したように、オプション /Z を省略するか、フォルダー パスなしでオプション /Z を指定すると、AzCopy は既定の場所である %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy にジャーナル ファイルを作成します。If you omit option /Z, or specify option /Z without the folder path, as shown above, AzCopy creates the journal file in the default location, which is %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy. 既存のジャーナル ファイルがある場合、このジャーナル ファイルに基づいて AzCopy が操作を再開します。If the journal file already exists, then AzCopy resumes the operation based on the journal file.

ジャーナル ファイルにカスタムの場所を指定する場合:If you want to specify a custom location for the journal file:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z:C:\journalfolder\

この例では、既存のジャーナル ファイルがない場合に、これを作成します。This example creates the journal file if it does not already exist. 既存のファイルがある場合、AzCopy はこのジャーナル ファイルに基づいて操作を再開します。If it does exist, then AzCopy resumes the operation based on the journal file.

AzCopy の操作を再開する場合:If you want to resume an AzCopy operation:

AzCopy /Z:C:\journalfolder\

この例では、完了できなかった可能性がある直前の操作を再開します。This example resumes the last operation, which may have failed to complete.

ログ ファイルの生成Generate a log file

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V

冗長ログへのファイル パスを指定せずにオプション /V を指定すると、AzCopy は既定の場所である %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy にログ ファイルを作成します。If you specify option /V without providing a file path to the verbose log, then AzCopy creates the log file in the default location, which is %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy.

それ以外の場合、カスタムの場所にログ ファイルを作成できます。Otherwise, you can create an log file in a custom location:

AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V:C:\myfolder\azcopy1.log

/V:test/azcopy1.log のように、オプション /V に続けて相対パスを指定すると、現在の作業ディレクトリの test という名前のサブフォルダー内に詳細ログが作成されます。Note that if you specify a relative path following option /V, such as /V:test/azcopy1.log, then the verbose log is created in the current working directory within a subfolder named test.

開始する同時操作の数の指定Specify the number of concurrent operations to start

オプション /NC を使用して同時コピー操作の数を指定します。Option /NC specifies the number of concurrent copy operations. 既定では、AzCopy はデータ転送のスループットを向上するために一定数の同時操作を開始します。By default, AzCopy starts a certain number of concurrent operations to increase the data transfer throughput. Table 操作については、同時操作数と所有するプロセッサ数が同じになります。For Table operations, the number of concurrent operations is equal to the number of processors you have. BLOB および File 操作については、同時操作数は、所有するプロセッサ数に 8 を乗算した数と同じになります。For Blob and File operations, the number of concurrent operations is equal 8 times the number of processors you have. 低帯域幅のネットワークで AzCopy を実行している場合は、/NC に少ない数を指定することで、リソースの競合で生じる失敗を回避できます。If you are running AzCopy across a low-bandwidth network, you can specify a lower number for /NC to avoid failure caused by resource competition.

Azure Storage エミュレーターに対して AzCopy を実行するRun AzCopy against the Azure Storage Emulator

Azure Storage エミュレーターに対して AzCopy を実行できます。BLOB の例を次に示します。You can run AzCopy against the Azure Storage Emulator for blobs:

AzCopy /Source:https://127.0.0.1:10000/myaccount/mycontainer/ /Dest:C:\myfolder /SourceKey:key /SourceType:Blob /S

テーブルに対しても実行できます。You can also run it for tables:

AzCopy /Source:https://127.0.0.1:10002/myaccount/mytable/ /Dest:C:\myfolder /SourceKey:key /SourceType:Table

AzCopy のパラメーターAzCopy Parameters

ここでは、AzCopy のパラメーターについて説明します。Parameters for AzCopy are described below. AzCopy の使用中にコマンド ラインから以下のコマンドのいずれかを入力して、ヘルプを表示することもできます。You can also type one of the following commands from the command line for help in using AzCopy:

  • AzCopy に関する詳細なコマンド ライン ヘルプを表示する場合: AzCopy /?For detailed command-line help for AzCopy: AzCopy /?
  • AzCopy パラメーターに関する詳細なヘルプを表示する場合: AzCopy /?:SourceKeyFor detailed help with any AzCopy parameter: AzCopy /?:SourceKey
  • コマンド ラインの例を表示する場合: AzCopy /?:SampleFor command-line examples: AzCopy /?:Sample

/Source:"source"/Source:"source"

コピー元となるソース データを指定します。Specifies the source data from which to copy. ソースには、ファイル システムのディレクトリ、BLOB コンテナー、BLOB 仮想ディレクトリ、ストレージ ファイル共有、ストレージ ファイルのディレクトリ、または Azure テーブルを指定できます。The source can be a file system directory, a blob container, a blob virtual directory, a storage file share, a storage file directory, or an Azure table.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/Dest:"destination"/Dest:"destination"

コピー先を指定します。Specifies the destination to copy to. コピー先には、ファイル システムのディレクトリ、BLOB コンテナー、BLOB 仮想ディレクトリ、ストレージ ファイル共有、ストレージ ファイル ディレクトリ、または Azure テーブルを指定できます。The destination can be a file system directory, a blob container, a blob virtual directory, a storage file share, a storage file directory, or an Azure table.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/Pattern:"file-pattern"/Pattern:"file-pattern"

コピーするファイルを示すファイル パターンを指定します。Specifies a file pattern that indicates which files to copy. /Pattern パラメーターの動作は、ソース データの場所と再帰モード オプションの有無で決まります。The behavior of the /Pattern parameter is determined by the location of the source data, and the presence of the recursive mode option. 再帰モードは、オプション /S で指定されます。Recursive mode is specified via option /S.

指定されたソースがファイル システムのディレクトリの場合、標準のワイルドカードが有効となり、指定されたファイル パターンがディレクトリ内のファイルと照合されます。If the specified source is a directory in the file system, then standard wildcards are in effect, and the file pattern provided is matched against files within the directory. オプション /S が指定されると、AzCopy は、該当するディレクトリの下位にあるすべてのサブフォルダー内の全ファイルについても、指定のパターンと照合します。If option /S is specified, then AzCopy also matches the specified pattern against all files in any subfolders beneath the directory.

指定されたソースが BLOB コンテナーまたは仮想ディレクトリの場合、ワイルドカードは適用されません。If the specified source is a blob container or virtual directory, then wildcards are not applied. オプション /S が指定されると、AzCopy は指定のファイル パターンを BLOB のプレフィックスとして解釈します。If option /S is specified, then AzCopy interprets the specified file pattern as a blob prefix. オプション /S を指定しない場合は、AzCopy はファイル パターンを BLOB 名そのものと照合します。If option /S is not specified, then AzCopy matches the file pattern against exact blob names.

指定されたソースが Azure ファイル共有の場合は、厳密なファイル名 (abc.txt など) を指定して単一ファイルをコピーするか、オプション /S を指定して共有内の全ファイルを再帰的にコピーする必要があります。If the specified source is an Azure file share, then you must either specify the exact file name, (e.g. abc.txt) to copy a single file, or specify option /S to copy all files in the share recursively. ファイル パターンとオプション /S の両方を同時に指定しようとすると、エラーになります。Attempting to specify both a file pattern and option /S together results in an error.

AzCopy では、/Source が BLOB コンテナーまたは BLOB 仮想ディレクトリである場合は大文字と小文字を区別する照合が行われ、その他の場合はすべて大文字と小文字を区別しない照合が行われます。AzCopy uses case-sensitive matching when the /Source is a blob container or blob virtual directory, and uses case-insensitive matching in all the other cases.

ファイル パターンが指定されていない場合に使用される既定のファイル パターンは、. です。The default file pattern used when no file pattern is specified is . また、Azure Storage 上の場所の場合は空のプレフィックスです。for a file system location or an empty prefix for an Azure Storage location. 複数のファイル パターンを指定することはサポートされていません。Specifying multiple file patterns is not supported.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/DestKey:"storage-key"/DestKey:"storage-key"

宛先リソースのストレージのアカウント キーを指定します。Specifies the storage account key for the destination resource.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/DestSAS:"sas-token"/DestSAS:"sas-token"

宛先に対して、READ および WRITE アクセス許可を使用する Shared Access Signature (SAS) を指定します (該当する場合)。Specifies a Shared Access Signature (SAS) with READ and WRITE permissions for the destination (if applicable). 特殊なコマンド ライン文字が含まれる可能性があるため、SAS は二重引用符で囲みます。Surround the SAS with double quotes, as it may contains special command-line characters.

宛先リソースが BLOB コンテナー、ファイル共有、またはテーブルの場合は、このオプションと直後の SAS トークンを指定するか、または、このオプションを指定せずに宛先 BLOB コンテナー、ファイル共有、またはテーブルの URI の一部として SAS を指定することができます。If the destination resource is a blob container, file share or table, you can either specify this option followed by the SAS token, or you can specify the SAS as part of the destination blob container, file share or table's URI, without this option.

ソースと宛先がどちらも BLOB の場合は、宛先 BLOB がソース BLOB と同じストレージ アカウント内に存在している必要があります。If the source and destination are both blobs, then the destination blob must reside within the same storage account as the source blob.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/SourceKey:"storage-key"/SourceKey:"storage-key"

ソース リソースのストレージのアカウント キーを指定します。Specifies the storage account key for the source resource.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/SourceSAS:"sas-token"/SourceSAS:"sas-token"

ソースに対して、READ および LIST アクセス許可を使用する Shared Access Signature を指定します (該当する場合)。Specifies a Shared Access Signature with READ and LIST permissions for the source (if applicable). 特殊なコマンド ライン文字が含まれる可能性があるため、SAS は二重引用符で囲みます。Surround the SAS with double quotes, as it may contains special command-line characters.

ソース リソースが BLOB コンテナーで、キーまたは SAS のどちらも指定しない場合、BLOB コンテナーは匿名のアクセスで読み取られます。If the source resource is a blob container, and neither a key nor a SAS is provided, then the blob container is read via anonymous access.

ソースがファイル共有またはテーブルの場合は、キーまたは SAS を指定する必要があります。If the source is a file share or table, a key or a SAS must be provided.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/S/S

コピー操作の再帰モードを指定します。Specifies recursive mode for copy operations. 再帰モードでは、AzCopy は指定のファイル パターンに一致するすべての BLOB またはファイル (サブフォルダー内を含む) をコピーします。In recursive mode, AzCopy copies all blobs or files that match the specified file pattern, including those in subfolders.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/BlobType:"block" | "page" | "append"/BlobType:"block" | "page" | "append"

宛先 BLOB がブロック BLOB、ページ BLOB、追加 BLOB のどれであるかを指定します。Specifies whether the destination blob is a block blob, a page blob, or an append blob. このオプションは、BLOB をアップロードする場合にのみ適用されます。This option is applicable only when you are uploading a blob. それ以外の場合は、エラーが発生します。Otherwise, an error is generated. 宛先が BLOB で、このオプションが指定されていない場合、既定では AzCopy によってブロック BLOB が作成されます。If the destination is a blob and this option is not specified, by default, AzCopy creates a block blob.

適用対象: BLOBApplicable to: Blobs

/CheckMD5/CheckMD5

ダウンロードするデータの MD5 ハッシュを計算し、BLOB に格納されている MD5 ハッシュまたはファイルの Content-MD5 プロパティが計算したハッシュに一致するかどうかを検証します。Calculates an MD5 hash for downloaded data and verifies that the MD5 hash stored in the blob or file's Content-MD5 property matches the calculated hash. MD5 チェックは既定では無効になっているため、MD5 チェックを実行するにはデータのダウンロード時にこのオプションを指定する必要があります。The MD5 check is turned off by default, so you must specify this option to perform the MD5 check when downloading data.

Azure ストレージでは、BLOB またはファイルに対して格納される MD5 ハッシュが最新であることは保証されません。Note that Azure Storage doesn't guarantee that the MD5 hash stored for the blob or file is up-to-date. BLOB またはファイルが変更された場合、MD5 の更新はクライアントの責任で行う必要があります。It is client's responsibility to update the MD5 whenever the blob or file is modified.

AzCopy は、Azure BLOB またはファイルをサービスにアップロードした後、常にその Content-MD5 プロパティを設定します。AzCopy always sets the Content-MD5 property for an Azure blob or file after uploading it to the service.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/Snapshot/Snapshot

スナップショットを転送するかどうかを示します。Indicates whether to transfer snapshots. このオプションはソースが BLOB の場合のみに有効です。This option is only valid when the source is a blob.

転送する BLOB のスナップショットは、blob-name (snapshot-time).extension の形式で名前が変更されますThe transferred blob snapshots are renamed in this format: blob-name (snapshot-time).extension

スナップショットは既定ではコピーされません。By default, snapshots are not copied.

適用対象: BLOBApplicable to: Blobs

/V:[verbose-log-file]/V:[verbose-log-file]

詳細な状態メッセージをログ ファイルに出力します。Outputs verbose status messages into a log file.

既定では、詳細なログ ファイル名は AzCopyVerbose.log で、 %LocalAppData%\Microsoft\Azure\AzCopyに出力されます。By default, the verbose log file is named AzCopyVerbose.log in %LocalAppData%\Microsoft\Azure\AzCopy. このオプションで既存のファイルの場所を指定すると、そのファイルに詳細なログが追加されます。If you specify an existing file location for this option, the verbose log is appended to that file.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/Z:[journal-file-folder]/Z:[journal-file-folder]

操作を再開するジャーナル ファイル フォルダーを指定します。Specifies a journal file folder for resuming an operation.

操作に割り込みが発生した場合、AzCopy は常に再開をサポートします。AzCopy always supports resuming if an operation has been interrupted.

このオプションを指定しないか、フォルダー パスなしで指定した場合、AzCopy は既定の場所である %LocalAppData%\Microsoft\Azure\AzCopy にジャーナル ファイルを作成します。If this option is not specified, or it is specified without a folder path, then AzCopy creates the journal file in the default location, which is %LocalAppData%\Microsoft\Azure\AzCopy.

AzCopy にコマンドが発行されるたびに、AzCopy は既定のフォルダーまたはこのオプションで指定されたフォルダーにジャーナル ファイルが存在するかどうかを確認します。Each time you issue a command to AzCopy, it checks whether a journal file exists in the default folder, or whether it exists in a folder that you specified via this option. どちらの場所にもジャーナル ファイルがない場合は、AzCopy は新しい操作であると認識し、新しいジャーナル ファイルを作成します。If the journal file does not exist in either place, AzCopy treats the operation as new and generates a new journal file.

既存のジャーナル ファイルがある場合は、AzCopy は入力されたコマンド ラインがジャーナル ファイルのコマンド ラインと一致するかどうかを確認します。If the journal file does exist, AzCopy checks whether the command line that you input matches the command line in the journal file. 2 つのコマンド ラインが一致する場合、AzCopy は未完了の操作を再開します。If the two command lines match, AzCopy resumes the incomplete operation. 一致しない場合は、ジャーナル ファイルを上書きして新しい操作を開始するか、現在の操作を取り消すかをたずねるメッセージが表示されます。If they do not match, you are prompted to either overwrite the journal file to start a new operation, or to cancel the current operation.

操作が正常に完了すると、ジャーナル ファイルは削除されます。The journal file is deleted upon successful completion of the operation.

以前のバージョンの AzCopy で作成されたジャーナル ファイルによる操作の再開はサポートされていません。Note that resuming an operation from a journal file created by a previous version of AzCopy is not supported.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/@:"parameter-file"/@:"parameter-file"

パラメーターを含むファイルを指定します。Specifies a file that contains parameters. AzCopy は、このファイルのパラメーターを、コマンド ラインで指定された場合と同様に処理します。AzCopy processes the parameters in the file just as if they had been specified on the command line.

応答ファイルでは、複数のパラメーターを単一行に指定することも、各パラメーターをそれぞれの行に指定することもできます。In a response file, you can either specify multiple parameters on a single line, or specify each parameter on its own line. 個々のパラメーターを複数行にまたがって指定することはできません。Note that an individual parameter cannot span multiple lines.

応答ファイルには、シンボル # で始まるコメント行を含めることができます。Response files can include comments lines that begin with the # symbol.

複数の応答ファイルを指定できます。You can specify multiple response files. ただし、入れ子になった応答ファイルはサポートされません。However, note that AzCopy does not support nested response files.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/Y/Y

AzCopy のすべての確認プロンプトを表示しません。Suppresses all AzCopy confirmation prompts. このオプションは、/XO および /XN が指定されていいない場合、データ アップロード シナリオでの書き込み専用 SAS トークンの使用も許可します。This option also allows the use of write-only SAS tokens for data upload scenarios, when /XO and /XN are not specified.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/L/L

一覧の操作のみ指定します。データはコピーされません。Specifies a listing operation only; no data is copied.

このオプションを使用すると、AzCopy はこのオプション /L を指定せずにコマンド ラインを実行するためのシミュレーションであると解釈し、コピーされるオブジェクト数をカウントします。同時に /V オプションを指定して詳細ログにコピーされるオブジェクトをチェックできます。AzCopy interprets the using of this option as a simulation for running the command line without this option /L and counts how many objects are copied, you can specify option /V at the same time to check which objects are copied in the verbose log.

このオプションの動作は、ソース データの場所と、再帰モード オプション /S およびファイル パターン オプション /Pattern の有無によっても左右されます。The behavior of this option is also determined by the location of the source data and the presence of the recursive mode option /S and file pattern option /Pattern.

AzCopy では、このオプションを使用するときに、このソースの場所の LIST および READ アクセス許可が必要です。AzCopy requires LIST and READ permission of this source location when using this option.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/MT/MT

ダウンロードしたファイルの最後の変更時刻をソースの BLOB またはファイルと同じ値に設定します。Sets the downloaded file's last-modified time to be the same as the source blob or file's.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/XN/XN

新しいソース リソースを除外します。Excludes a newer source resource. ソースが最後に変更された時刻が宛先と同じか、それよりも後である場合、リソースはコピーされません。The resource is not copied if the last modified time of the source is the same or newer than destination.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/XO/XO

古いソース リソースを除外します。Excludes an older source resource. ソースが最後に変更された時刻が宛先と同じか、それよりも前である場合、リソースはコピーされません。The resource is not copied if the last modified time of the source is the same or older than destination.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/A/A

Archive 属性が設定済みのファイルのみアップロードします。Uploads only files that have the Archive attribute set.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/IA:[RASHCNETOI]/IA:[RASHCNETOI]

指定の属性のいずれかが設定されているファイルのみアップロードします。Uploads only files that have any of the specified attributes set.

以下の属性が利用可能です。Available attributes include:

  • R = 読み取り専用ファイルR = Read-only files
  • A = アーカイブの準備が完了したファイルA = Files ready for archiving
  • S = システム ファイルS = System files
  • H = 隠しファイルH = Hidden files
  • C = 圧縮ファイルC = Compressed files
  • N = 通常ファイルN = Normal files
  • E = 暗号化ファイルE = Encrypted files
  • T = 一時ファイルT = Temporary files
  • O = オフラインのファイルO = Offline files
  • I = インデックス付きでないファイルI = Non-indexed files

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/XA:[RASHCNETOI]/XA:[RASHCNETOI]

指定の属性のいずれかが設定されているファイルを除外します。Excludes files that have any of the specified attributes set.

以下の属性が利用可能です。Available attributes include:

  • R = 読み取り専用ファイルR = Read-only files
  • A = アーカイブの準備が完了したファイルA = Files ready for archiving
  • S = システム ファイルS = System files
  • H = 隠しファイルH = Hidden files
  • C = 圧縮ファイルC = Compressed files
  • N = 通常ファイルN = Normal files
  • E = 暗号化ファイルE = Encrypted files
  • T = 一時ファイルT = Temporary files
  • O = オフラインのファイルO = Offline files
  • I = インデックス付きでないファイルI = Non-indexed files

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/Delimiter:"delimiter"/Delimiter:"delimiter"

BLOB 名で仮想ディレクトリを区切るために使用する区切り文字を示します。Indicates the delimiter character used to delimit virtual directories in a blob name.

既定では、AzCopy は区切り文字として / を使用します。By default, AzCopy uses / as the delimiter character. ただし、AzCopy は、一般的な文字である @、#、または % の区切り文字としての使用もサポートします。However, AzCopy supports using any common character (such as @, #, or %) as a delimiter. この特殊文字のいずれかをコマンド ラインに含める必要がある場合は、ファイル名を二重引用符で囲みます。If you need to include one of these special characters on the command line, enclose the file name with double quotes.

このオプションは BLOB のダウンロードのみに適用されます。This option is only applicable for downloading blobs.

適用対象: BLOBApplicable to: Blobs

/NC:"number-of-concurrent-operations"/NC:"number-of-concurrent-operations"

同時操作の数を指定します。Specifies the number of concurrent operations.

AzCopy は既定で、データ転送のスループットを向上するために一定数の同時操作を開始します。AzCopy by default starts a certain number of concurrent operations to increase the data transfer throughput. 低帯域幅の環境で大量に同時操作を実行すると、接続するネットワークに過剰な負荷がかかり、操作を完了できなくなる場合があります。Note that large number of concurrent operations in a low-bandwidth environment may overwhelm the network connection and prevent the operations from fully completing. 実際に利用可能なネットワーク帯域幅に適した同時操作数になるように調整してください。Throttle concurrent operations based on actual available network bandwidth.

同時操作の上限は 512 です。The upper limit for concurrent operations is 512.

適用対象: BLOB、ファイル、テーブルApplicable to: Blobs, Files, Tables

/SourceType:"Blob" | "Table"/SourceType:"Blob" | "Table"

source リソースが、ストレージ エミュレーターで実行されている、ローカル開発環境で利用可能な BLOB であると指定します。Specifies that the source resource is a blob available in the local development environment, running in the storage emulator.

適用対象: BLOB、テーブルApplicable to: Blobs, Tables

/DestType:"Blob" | "Table"/DestType:"Blob" | "Table"

destination リソースが、ストレージ エミュレーターで実行されている、ローカル開発環境で利用可能な BLOB であると指定します。Specifies that the destination resource is a blob available in the local development environment, running in the storage emulator.

適用対象: BLOB、テーブルApplicable to: Blobs, Tables

/PKRS:"key1#key2#key3#..."/PKRS:"key1#key2#key3#..."

テーブル データを並行してエクスポートできるようにパーティション キーの範囲を分割します。これによって、エクスポート操作の速度が速くなります。Splits the partition key range to enable exporting table data in parallel, which increases the speed of the export operation.

このオプションを指定しない場合、AzCopy はシングル スレッドを使用してテーブル エンティティをエクスポートします。If this option is not specified, then AzCopy uses a single thread to export table entities. たとえば、ユーザーが /PKRS:"aa#bb" と指定した場合、AzCopy は 3 つの同時操作を開始します。For example, if the user specifies /PKRS:"aa#bb", then AzCopy starts three concurrent operations.

以下のとおり、1 つの操作で、3 つのパーティション キー範囲の 1 つがエクスポートされます。Each operation exports one of three partition key ranges, as shown below:

[first-partition-key, aa)[first-partition-key, aa)

[aa, bb)[aa, bb)

[bb, last-partition-key][bb, last-partition-key]

適用対象: テーブルApplicable to: Tables

/SplitSize:"file-size"/SplitSize:"file-size"

エクスポートされるファイルの分割サイズを MB 単位で指定します。許容される最小値は 32 です。Specifies the exported file split size in MB, the minimal value allowed is 32.

このオプションを指定しない場合、AzCopy はテーブル データを 1 つのファイルにエクスポートします。If this option is not specified, AzCopy exports table data to a single file.

テーブル データを BLOB にエクスポートする場合、エクスポートされるファイルのサイズが BLOB サイズの上限である 200 GB に達していると、このオプションが指定されていなくても、エクスポートされるファイルが分割されます。If the table data is exported to a blob, and the exported file size reaches the 200 GB limit for blob size, then AzCopy splits the exported file, even if this option is not specified.

適用対象: テーブルApplicable to: Tables

/EntityOperation:"InsertOrSkip" | "InsertOrMerge" | "InsertOrReplace"/EntityOperation:"InsertOrSkip" | "InsertOrMerge" | "InsertOrReplace"

テーブル データのインポート動作を指定します。Specifies the table data import behavior.

  • InsertOrSkip - テーブルにエンティティが存在する場合はスキップし、存在しない場合は新しいエンティティを挿入します。InsertOrSkip - Skips an existing entity or inserts a new entity if it does not exist in the table.
  • InsertOrMerge - テーブルにエンティティが存在する場合はマージし、存在しない場合は新しいエンティティを挿入します。InsertOrMerge - Merges an existing entity or inserts a new entity if it does not exist in the table.
  • InsertOrReplace - テーブルにエンティティが存在する場合は置換し、存在しない場合は新しいエンティティを挿入します。InsertOrReplace - Replaces an existing entity or inserts a new entity if it does not exist in the table.

適用対象: テーブルApplicable to: Tables

/Manifest:"manifest-file"/Manifest:"manifest-file"

テーブルのエクスポートおよびインポート操作のマニフェスト ファイルを指定します。Specifies the manifest file for the table export and import operation.

このオプションはエクスポート操作中のオプションであり、オプションが指定されていない場合、AzCopy は事前定義された名前を使用してマニフェスト ファイルを生成します。This option is optional during the export operation, AzCopy generates a manifest file with predefined name if this option is not specified.

このオプションは、データ ファイルを検索するためのインポート操作中に必要です。This option is required during the import operation for locating the data files.

適用対象: テーブルApplicable to: Tables

/SyncCopy/SyncCopy

2 つの Azure ストレージ エンドポイント間で BLOB またはファイルを同期的にコピーするかどうかを示します。Indicates whether to synchronously copy blobs or files between two Azure Storage endpoints.

既定では、AzCopy はサーバー側の非同期コピーを使用します。AzCopy by default uses server-side asynchronous copy. 同期コピーを実行する場合は、このオプションを指定します。これにより、BLOB またはファイルはローカル メモリにダウンロードされ、次に Azure Storage にアップロードされます。Specify this option to perform a synchronous copy, which downloads blobs or files to local memory and then uploads them to Azure Storage.

このオプションは、ファイルを BLOB ストレージ内またはファイル ストレージ内でコピーする場合や、BLOB ストレージからファイル ストレージ、またはファイル ストレージから BLOB ストレージにコピーする場合に使用できます。You can use this option when copying files within Blob storage, within File storage, or from Blob storage to File storage or vice versa.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/SetContentType:"content-type"/SetContentType:"content-type"

コピー先の BLOB またはファイルの MIME コンテンツの種類を指定します。Specifies the MIME content type for destination blobs or files.

既定では、AzCopy は BLOB またはファイルのコンテンツの種類を application/octet-stream に設定します。AzCopy sets the content type for a blob or file to application/octet-stream by default. このオプションで値を明示的に指定することで、すべての BLOB またはファイルのコンテンツの種類を設定できます。You can set the content type for all blobs or files by explicitly specifying a value for this option.

このオプションで値を指定しない場合、AzCopy は各 BLOB またはファイルのコンテンツの種類をそのファイルの拡張子に応じて設定します。If you specify this option without a value, then AzCopy sets each blob or file's content type according to its file extension.

適用対象: BLOB、ファイルApplicable to: Blobs, Files

/PayloadFormat:"JSON" | "CSV"/PayloadFormat:"JSON" | "CSV"

テーブルのエクスポートされたデータ ファイルの形式を指定します。Specifies the format of the table exported data file.

このオプションが指定されていない場合、AzCopy では既定で JSON 形式でテーブル データ ファイルがエクスポートされます。If this option is not specified, by default AzCopy exports table data file in JSON format.

適用対象: テーブルApplicable to: Tables

既知の問題とベスト プラクティスKnown Issues and Best Practices

既知の問題とベスト プラクティスをいくつか見てみましょう。Let's take a look at some of the known issues and best practices.

データのコピー中の同時書き込みの制限Limit concurrent writes while copying data

AzCopy を使用して BLOB またはファイルをコピーする場合は、コピー中に別のアプリケーションがそのデータを変更している可能性があることに注意してください。When you copy blobs or files with AzCopy, keep in mind that another application may be modifying the data while you are copying it. 可能な場合は、コピーしているデータがコピー操作中に変更されないようにしてください。If possible, ensure that the data you are copying is not being modified during the copy operation. たとえば、Azure 仮想マシンに関連付けられている VHD をコピーしている場合は、その VHD に別のアプリケーションが書き込まないようにします。For example, when copying a VHD associated with an Azure virtual machine, make sure that no other applications are currently writing to the VHD. これを行う適切な方法は、コピーされるリソースをリースすることです。A good way to do this is by leasing the resource to be copied. または、最初に VHD のスナップショットを作成してからそのスナップショットをコピーします。Alternately, you can create a snapshot of the VHD first and then copy the snapshot.

コピーしている BLOB またはファイルに対する他のアプリケーションによる書き込みを回避できない場合は、ジョブが終了した時点で、コピー対象のリソースがソース リソースとの間に完全なパリティを保持していない可能性があることを覚えておいてください。If you cannot prevent other applications from writing to blobs or files while they are being copied, then keep in mind that by the time the job finishes, the copied resources may no longer have full parity with the source resources.

1 つのマシンでは 1 つの AzCopy インスタンスを実行します。Run one AzCopy instance on one machine.

AzCopy はマシン リソースの利用率を最大限に高めてデータ転送を高速化する設計になっています。1 つのマシンで実行する AzCopy インスタンスは 1 つのみとすること、同時実行操作の数を増やす必要がある場合はオプション /NC を指定することをお勧めします。AzCopy is designed to maximize the utilization of your machine resource to accelerate the data transfer, we recommend you run only one AzCopy instance on one machine, and specify the option /NC if you need more concurrent operations. 詳細については、コマンド ラインに「 AzCopy /?:NC 」と入力してください。For more details, type AzCopy /?:NC at the command line.

[暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う] を有効にする場合、AzCopy に対して FIPS に準拠している MD5 アルゴリズムを有効にします。Enable FIPS-compliant MD5 algorithms for AzCopy when you "Use FIPS-compliant algorithms for encryption, hashing and signing."

AzCopy はオブジェクトをコピーするときに、既定で .NET MD5 実装を使用して MD5 を計算しますが、AzCopy で FIPS に準拠している MD5 設定を有効にするために必要ないくつかのセキュリティ要件があります。AzCopy by default uses .NET MD5 implementation to calculate the MD5 when copying objects, but there are some security requirements that need AzCopy to enable FIPS-compliant MD5 setting.

プロパティ AzureStorageUseV1MD5 を含む App.config ファイル AzCopy.exe.config を作成し、それを AzCopy.exe と共に取っておくことができます。You can create an app.config file AzCopy.exe.config with property AzureStorageUseV1MD5 and put it aside with AzCopy.exe.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="AzureStorageUseV1MD5" value="false"/>
  </appSettings>
</configuration>

プロパティ "AzureStorageUseV1MD5" の場合:For property "AzureStorageUseV1MD5":

  • True - 既定値。AzCopy は .NET MD5 実装を使用します。True - The default value, AzCopy uses .NET MD5 implementation.
  • False – AzCopy は FIPS に準拠している MD5 アルゴリズムを使用します。False – AzCopy uses FIPS-compliant MD5 algorithm.

Windows では FIPS に準拠しているアルゴリズムが既定で無効になります。FIPS-compliant algorithms are disabled by default on Windows. マシンでこのポリシー設定を変更することができます。You can change this policy setting on your machine. [実行] ウィンドウ (Windows+R) で、「secpol.msc」と入力して [ローカル セキュリティ ポリシー] ウィンドウを開きます。In the Run window (Windows+R), type secpol.msc to open the Local Security Policy window. [セキュリティの設定] ウィンドウで [セキュリティの設定] > [ローカル ポリシー] > [セキュリティ オプション] に移動します。In the Security Settings window, navigate to Security Settings > Local Policies > Security Options. [システム暗号化: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う] ポリシーを探します。Locate the System cryptography: Use FIPS-compliant algorithms for encryption, hashing and signing policy. ポリシーをダブルクリックして、[セキュリティの設定] 列に表示された値を確認します。Double-click on the policy to see the value displayed in the Security Setting column.

次の手順Next steps

Azure Storage および AzCopy の詳細については、以下のリソースを参照してください。For more information about Azure Storage and AzCopy, see the following resources:

Azure Storage のドキュメント:Azure Storage documentation:

Azure Storage に関するブログの投稿:Azure Storage blog posts: