こんにちは、MLBお兄さんこと松村です。
もうすぐ WBC が始まりますね。今年はメジャーリーガーも各国代表にたくさん選出されていますので、むちゃくちゃ楽しみにしています。
Azure Storage の CLI である azcopy を使って、BLOB から Files へのファイルコピーの方法を検証しました。
SAS の生成
azcopy で BLOB と Files の両方にアクセスするため、どちらも操作可能な SAS (Shared Access Signatures) を発行しましょう。
※ BLOB と Files それぞれの SAS を発行しても大丈夫です。
検証した限りの最小スコープとして
- 使用できるサービス
- BLOB
- ファイル
- 使用できるリソースの種類
- コンテナー
- オブジェクト
- 与えられているアクセス許可
- 読み取り
- 書き込み
- リスト
- 追加
- 作成
生成された SAS トークンを控えておきましょう。
コピーコマンド
先程作成した SAS を使用して、BLOB から Files へのコピーを実行します。
使用するコマンドは azcopy copy です。
SAS_TOKEN="?sv=..." BLOB="https://{account}.blob.core.windows.net/{container}/*"$SAS_TOKEN FILES="https://{account}.file.core.windows.net/{directory}/"$SAS_TOKEN azcopy copy $BLOB $FILES
上記のコマンドでファイルコピーが行われることがわかります。
$ azcopy copy $BLOB $FILES INFO: Scanning... INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support INFO: azcopy: A newer version 10.17.0 is available to download Job 3e7b8656-976c-2541-59ab-904f8340f43d has started Log file is located at: /home/xxx/.azcopy/3e7b8656-976c-2541-59ab-904f8340f43d.log INFO: Trying 4 concurrent connections (initial starting point) INFO: Trying 16 concurrent connections (seeking optimum) 100.0 %, 1 Done, 0 Failed, 0 Pending, 0 Skipped, 1 Total, Job 3e7b8656-976c-2541-59ab-904f8340f43d summary Elapsed Time (Minutes): 0.1668 Number of File Transfers: 1 Number of Folder Property Transfers: 0 Total Number of Transfers: 1 Number of Transfers Completed: 1 Number of Transfers Failed: 0 Number of Transfers Skipped: 0 TotalBytesTransferred: 341091805 Final Job Status: Completed
はじめは、BLOB to BLOB や Files to Files という同じ種類しかできないかと思っていました。
ポータルでは手間な作業でも、 azcopy なら便利だなと再認識しました。