AzCopy を使ってみる

AzCopy は、ストレージ アカウント間の BLOB またはファイル コピーに利用できるコマンドライン ユーティリティです。 この記事は、AzCopy をダウンロードし、ストレージ アカウントに接続し、ファイルを転送する際に役立ちます。

注意

AzCopy V10 が現在サポートされているバージョンの AzCopy です。

以前のバージョンの AzCopy を使用する必要がある場合は、この記事の「以前のバージョンの AzCopy の使用」セクションを参照してください。

AzCopy をダウンロードする

まず、お使いのコンピューター上の任意のディレクトリに AzCopy V10 実行可能ファイルをダウンロードします。 AzCopy V10 は単に実行可能ファイルなので、インストールするものはありません。

これらのファイルは、zip ファイル (Windows および Mac) または tar ファイル (Linux) として圧縮されます。 Linux 上で tar ファイルをダウンロードして圧縮を解除するには、お使いの Linux ディストリビューションのドキュメントを参照してください。

注意

Azure Table Storage サービスとの間でデータをコピーする場合、AzCopy バージョン 7.3 をインストールしてください。

AzCopy を実行する

利便性のため、AzCopy 実行可能ファイルのディレクトリの場所をご自分のシステム パスに追加して使いやすくすることを検討してください。 そうすると、ご使用のシステム上にある任意のディレクトリから「azcopy」を入力できます。

AzCopy ディレクトリをご自分のパスに追加しないことを選択した場合、実際の AzCopy 実行可能ファイルの場所にディレクトリを変更し、Windows PowerShell コマンド プロンプトで「azcopy」または「.\azcopy」と入力する必要があります。

ご自分の Azure Storage アカウントの所有者であっても、データへのアクセス許可が自動的に割り当てられるわけではありません。 AzCopy を使用して意味のある動作を行う前に、ストレージ サービスに認証資格情報を提供する方法を決定する必要があります。

AzCopy を承認する

認証資格情報は、Azure Active Directory (AD) または Shared Access Signature (SAS) トークンを使用して提供できます。

次の表をガイドとして使用してください。

ストレージの種類 現在サポートされている認証方法
Blob Storage Azure AD および SAS
BLOB ストレージ (階層型名前空間) Azure AD および SAS
File Storage SAS のみ

オプション 1: Azure Active Directory を使用する

このオプションは、BLOB ストレージでのみ使用できます。 Azure Active Directory を使用すると、各コマンドに SAS トークンを追加する代わりに、資格情報を 1 回入力するだけで済みます。

注意

現在のリリースでは、ストレージ アカウント間で BLOB をコピーする場合は、各ソース URL に SAS トークンを追加する必要があります。 コピー先 URL からのみ、SAS トークンを省略できます。 例については、「ストレージ アカウント間で BLOB をコピーする」をご覧ください。

Azure AD を使用してアクセスを承認するには、「AzCopy と Azure Active Directory (Azure AD) を使用して BLOB へのアクセスを承認する」を参照してください。

オプション 2:SAS トークンを使用する

AzCopy コマンドで使用する各コピー元または各コピー先の URL に SAS トークンを追加できます。

この例のコマンドでは、ローカル ディレクトリから BLOB コンテナーにデータが繰り返しコピーされます。 架空の SAS トークンが、コンテナー URL の末尾に追加されます。

azcopy copy "C:\local\path" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true

SAS トークンの詳細とその取得方法については、「Shared Access Signatures (SAS) の使用」を参照してください。

注意

ストレージ アカウントの [安全な転送が必須] 設定によって、ストレージ アカウントへの接続がトランスポート層セキュリティ (TLS) で保護されるかどうかが決まります。 既定では、この設定は有効になっています。

データの転送

ID を承認するか、SAS トークンを取得したら、データの転送を開始できます。

サンプル コマンドは次の記事のいずれかをご覧ください。

サービス [アーティクル]
Azure Blob Storage Azure Blob Storage にファイルをアップロードする
Azure Blob Storage Azure Blob Storage から BLOB をダウンロードする
Azure Blob Storage Azure ストレージ アカウント間で BLOB をコピーする
Azure Blob Storage Azure Blob Storage と同期する
Azure Files AzCopy とファイル ストレージでデータを転送する
Amazon S3 Amazon S3 から Azure Storage にデータをコピーする
Google Cloud Storage Google Cloud Storage から Azure Storage にデータをコピーする (プレビュー)
Azure Stack ストレージ AzCopy と Azure Stack ストレージを使用してデータを転送する

コマンドのヘルプを表示する

コマンドの一覧を表示するには、「azcopy -h」と入力し、ENTER キーを押します。

特定のコマンドの情報を知るには、単にコマンドの名前を含めてください (例: azcopy list -h)。

インライン ヘルプ

コマンドの一覧

次の表に、AzCopy v10 のすべてのコマンドを示します。 各コマンドは、リファレンス記事にリンクされています。

command 説明
azcopy bench 指定した場所との間でテスト データをアップロードまたはダウンロードすることで、パフォーマンス ベンチマークを実行します。
azcopy copy ソース データをコピー先の場所にコピーします。
azcopy doc ツールのドキュメントをマークダウン形式で生成します。
azcopy env AzCopy の動作を構成できる環境変数を示します。
azcopy jobs ジョブの管理に関連するサブコマンド。
azcopy jobs clean すべてのジョブのログおよびプランのファイルをすべて削除します。
azcopy jobs list すべてのジョブに関する情報を表示します。
azcopy jobs remove 指定されたジョブ ID に関連付けられているすべてのファイルを削除します。
azcopy jobs resume 指定されたジョブ ID を持つ既存のジョブを再開します。
azcopy jobs show 指定されたジョブ ID の詳細情報を表示します。
azcopy load 特定の形式でのデータ転送に関連するサブコマンド。
azcopy load clfs ローカル データをコンテナーに転送し、Microsoft の Avere Cloud FileSystem (CLFS) 形式で格納します。
azcopy list 指定されたリソース内のエンティティを一覧表示します。
azcopy login Azure Storage リソースにアクセスするために Azure Active Directory にログインします。
azcopy logout ユーザーをログアウトし、Azure Storage リソースへのアクセスを終了します。
azcopy make コンテナーまたはファイル共有を作成します。
azcopy remove Azure ストレージ アカウントから BLOB またはファイルを削除します。
azcopy sync 元の場所を同期先の場所にレプリケートします。

注意

AzCopy には、ファイルの名前を変更するコマンドはありません。

スクリプト内で使用する

時間と共に、AzCopy のダウンロード リンクは AzCopy の新しいバージョンを指します。 実際のスクリプトで AzCopy をダウンロードする場合、実際のスクリプトで使用する機能が新しいバージョンの AzCopy で変更されていると、スクリプトの動作が停止する可能性があります。

これらの問題を回避するには、AzCopy の現在のバージョンの静的 (変更されない) リンクを取得します。 そうすることで、実際のスクリプトを実行するたびに、まったく同じバージョンの AzCopy がダウンロードされます。

そのリンクを取得するには、このコマンドを実行します。

オペレーティング システム command
Linux curl -s -D- https://aka.ms/downloadazcopy-v10-linux | grep ^Location
Windows (curl https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction silentlycontinue).headers.location

注意

Linux の場合、tar コマンドの --strip-components=1 では、バージョン名を含む最上位フォルダーが削除され、代わりに現在のフォルダーに直接バイナリが抽出されます。 これにより、wget URL を更新するだけで、新しいバージョンの azcopy でスクリプトを更新できます。

この URL はこのコマンドの出力に表示されます。 その後、実際のスクリプトでその URL を使用して AzCopy をダウンロードできます。

オペレーティング システム command
Linux wget -O azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux && tar -xf azcopy_v10.tar.gz --strip-components=1
Windows Invoke-WebRequest https://azcopyvnext.azureedge.net/release20190517/azcopy_windows_amd64_10.1.2.zip -OutFile azcopyv10.zip <<Unzip here>>

SAS トークンの特殊文字をエスケープする

拡張子が .cmd のバッチ ファイルでは、SAS トークンに出現する % 文字をエスケープする必要があります。 これを行うには、SAS トークン文字列の既存の % 文字の横に、% の文字を追加します。

Jenkins を使用してスクリプトを実行する

Jenkins を使用してスクリプトを実行する場合は、必ずスクリプトの先頭に次のコマンドを配置してください。

/usr/bin/keyctl new_session

Azure Storage Explorer で使用する

Storage Explorer は、AzCopy を使用してすべてのデータ転送操作を実行します。 AzCopy のパフォーマンス上の利点を活用する場合は、Storage Explorer を使用できますが、ファイルの操作にはコマンド ラインではなくグラフィカル ユーザー インターフェイスを使用することをお勧めします。

Storage Explorer では、ご自分のアカウント キーを使用して、操作を実行します。そのため、Storage Explorer にサインインした後は、追加の承認資格情報を提供する必要はありません。

構成、最適化、修正を行う

次のいずれかのリソースを参照してください。

以前のバージョンを使用する

以前のバージョンの AzCopy を使用する必要がある場合は、次のいずれかのリンクを参照してください。

次のステップ

ご質問、問題、一般的なフィードバックは、GitHub ページからお送りください。