SASキーを使ってazcopyする。FileからBlobへコピーする。
前提
今日は下記ディレクトリで作業していく。
/Users/takumi/Documents/src/private_src/daily/2025-10-26/azcopy-sample
az copy のインストール
下記からダウンロードしてインストールする。
https://learn.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10?tabs=dnf
mac は下記で。
https://learn.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10?tabs=dnf#download-the-azcopy-portable-binary

Apple Silicon(M1/M2/M3)でのインストール手順
- ダウンロード
# Apple Silicon用のAzCopyを直接ダウンロード
curl -L https://aka.ms/downloadazcopy-v10-mac-arm64 -o azcopy.tar.gz
- インストール
# ダウンロードしたファイルを解凍
tar -xf azcopy.tar.gz
# azcopyを実行可能にして、PATHに追加
sudo mv azcopy_darwin_arm64_*/azcopy /usr/local/bin/
chmod +x /usr/local/bin/azcopy
# 一時ファイルを削除
rm -rf azcopy_darwin_arm64_* azcopy.tar.gz
- 動作確認
azcopy --version
azcopy version 10.30.1と出ればOK.
基本的な使用方法
SASキーを取得する
BlobとFileそれぞれでSASキーを発行します。

SAS tokenをコピーしておく。

本来であればkvとかに入れて使ったほうがいい。(もっというとEntra IDで認証して使ったほうがいいけど、今回はあくまで実験ということで。)
–from-to FileBlob
これを指定することで最適化されるようだ。今回はFileからBlobへのコピーなのでこれを入れておく。
下記も参考に。
https://learn.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10?tabs=dnf#transfer-data
# コピーしたSASトークンを使う
FILE_SHARE_SAS_TOKEN="sv=2024-11-04&ss=f&srt=sco&sp=rl&se=2025-10-27T04:22:51Z&st=2025-10-26T20:07:51Z&spr=https&sig=hoge"
BLOB_SAS_TOKEN="sv=2024-11-04&ss=b&srt=sco&sp=rwdlactfx&se=2025-10-27T04:22:51Z&st=2025-10-26T20:07:51Z&spr=https&sig=hoge"
# URL構築
SOURCE_URL="https://${STORAGE_ACCOUNT_NAME}.file.core.windows.net/${FILE_SHARE_NAME}?${FILE_SHARE_SAS_TOKEN}"
TARGET_URL="https://${STORAGE_ACCOUNT_NAME}.blob.core.windows.net/${BLOB_CONTAINER_NAME}?${BLOB_SAS_TOKEN}"
echo "=== AzCopy実行 ==="
echo "ソース: ${SOURCE_URL}"
echo "ターゲット: ${TARGET_URL}"
echo ""
# AzCopyコマンド実行
echo "AzCopyコマンドを実行中..."
# -from-to FileBlobを指定することで、最適化された方法でコピーされる。
azcopy copy "${SOURCE_URL}" "${TARGET_URL}" --from-to FileBlob --recursive=true
if [ $? -eq 0 ]; then
echo ""
echo "✓ AzCopy実行完了"
echo "File Share '${FILE_SHARE_NAME}' から Blob Container '${BLOB_CONTAINER_NAME}' へのコピーが成功しました"
else
echo ""
echo "✗ AzCopy実行失敗"
exit 1
fi
ストレージアカウントを準備して、ファイルとBlobコンテナーを用意しました。

コピーされることを確認





ディスカッション
コメント一覧
まだ、コメントがありません