azcopyコマンドの基本操作

はじめに

 Blobストレージ上のファイルを扱う際に大変重宝されるazcopyについてまとめます。
 オンプレとのファイルアップロード/ダウンロードはもちろん、
 ストレージ間でのやり取りや、削除も行える非常に便利なツールです。
 並列での実行を行なってくれるので、大量のデータを取り扱う際にも
 非常に高速に処理することができます。

インストール方法

 実行バイナリを下記よりダウンロードし、任意の場所に展開します。
 Microsoft - Learn

copy

 ファイルのコピーを行うコマンドです。基本構文は以下

azcopy copy {コピー元} {コピー先} {オプション}

# 省略形 
azcopy cp {コピー元} {コピー先} {オプション}

# 例
azcopy copy /home/sample.txt "https://samplestorage.net?<SAS>"
  • オンプレミス上のファイル指定はファイルパスを渡してあげればOK
  • Blobsストレージ上のファイルはSASURLを指定

主要オプション

意味
--recursive ディレクトリごとコピーする。trueかfalse --recursive=true
--overwrite 上書きの選択。trueかfalse --overwrite=true
--include-pattern コピー対象の限定化 --include-pattern=".png;.jpg"
--exclude-pattern コピー対象から除外 --exclude-pattern="*.psd"
--dry-run 実際にコピーは行わず、コピー対象を確認する --dry-run

remove

 指定Blobの削除を行うコマンドです。基本構文は以下

azcopy remove {削除対象} {オプション}

# 省略形 
azcopy rm {削除対象} {オプション}

# 例
azcopy remove "https://samplestorage.net?<SAS>"
  • コピー時と同様にSASURLで指定する
  • 元に戻すことはできない。即削除される

主要オプション

意味
--recursive ディレクトリごと削除する。trueかfalse --recursive=true
--include-pattern 削除対象の限定化 --include-pattern=".png;.jpg"
--exclude-pattern 削除対象から除外 --exclude-pattern="*.psd"
--dry-run 実際に削除は行わず、対象を確認する --dry-run

sync

 差分同期を行うコマンドです。以下、基本構文

azcopy sync {コピー元} {コピー先} {オプション}

主要オプション

意味
--recursive ディレクトリごと削除する。trueかfalse --recursive=true
--dry-run 実際に削除は行わず、対象を確認する --dry-run
--delete-destination コピー元にないものは削除する --delete-destination=true

jobs

 実行中、もしくは過去実行したjobの管理を行うコマンドです。
 jobが失敗した際などにやり直しを行うことができます。

# job一覧を見る
azcopy jobs list

> JobId: 3d1f...
> Status: Completed
> Command: copy

# jobの詳細を見る
azcopy jobs show <JobID>

# 中断したjobの再開
azcopy jobs resume <JobID>

さいごに

 今回は主要なコマンドについて紹介を行いました。
 大量なファイルの転送等を行う際には非常に役立つツールとなっておりますので、
 Blobストレージを扱う際にはぜひ覚えておくといいかもしれません!