はじめに
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ストレージを扱う際にはぜひ覚えておくといいかもしれません!
