2020/04/09 (現地時間) に AzCopy v10.4.0 がリリースされました。
- Release AzCopy V10.4.0 Release · Azure/azure-storage-azcopy
https://github.com/Azure/azure-storage-azcopy/releases/tag/v10.4.0
AzCopy v10.4.0 について (意訳)
新しい機能
- azcopy copy は、–persist-smb-permissions フラグを用いることで、サポートされるリソース (Windows と Azure Files) 間で ACL 情報の保存をサポートするようになりました。
- azcopy copy は、–persist-smb-info フラグを用いることで、サポートされているリソース (Windows と Azure Files) 間の SMB プロパティ情報の保存をサポートするようになりました。保存できる情報は、作成日時、最終書き込み日時、属性 (読み取り専用など) です。
- AzCopy は、空のフォルダーに加え、フォルダーのプロパティも転送できるようになりました。これは、ソースと宛先の両方が実際のフォルダーをサポートしている場合に適用されます (Blob Storage はサポートされません。仮想フォルダーのみをサポートしています)。
- Windows では、AzCopy は特別な特権 SeBackupPrivilege および SeRestorePrivilege をアクティブ化できるようになりました。 “Backup Operators” セキュリティ グループのすべてのメンバーがそうであるように、ほとんどの管理者レベルのアカウントは、非アクティブ状態でこれらの特権を持っています。これらのユーザーの 1 人として AzCopy を実行し、新しいフラグ –backup を指定すると、AzCopy は特権をアクティブにします (管理者として実行している場合は、管理者特権のコマンドプロンプトを使用します)。これにより、AzCopy はアップロード時に、他の方法では表示する権限がないファイルを読み取ることが可能です。ダウンロード時に –preserve-smb-permissions フラグと連携して、所有者が AzCopy を実行しているユーザーではない場合でも権限を保持できるようにします。 –backup フラグは、権限をアクティブ化できない場合に失敗を報告します。
- AzCopy の copy、sync、job list、および job status からのステータス出力に、フォルダーに関する情報が含まれるようになりました。
–output-type json が使用されている場合、これには、copy、sync、list、および job status コマンドの JSON 出力の新しいプロパティが含まれます。 - Azure Files に azcopy rm を使用すると、空のフォルダーが削除されます。
- Azure File Shares スナップショットは、読み取り専用アクセスで、copy、sync、list をサポートして。使用するには、Azure Files ソースの URL の最後に sharesnapshot パラメーターを追加します。 & を使用して、既存のクエリ文字列パラメーター (SAS トークンなど) と区切ることを忘れないでください。例 : https://<youraccount>.file.core.windows.net/sharename?st=2020-03-03T20%3A53%3A48Z&se=2020-03-04T20%3A53%3A48Z&sp=rl&sv=2018-03-28&sr=s&sig=REDACTED&sharesnapshot=2020-03-03T20%3A24%3A13.0000000Z
- ベンチマーク モードが、(Blob Storage の既存のベンチマーク サポートに加え、) Azure Files と ADLS Gen 2 でサポートされるようになりました。
- 特別なパフォーマンス最適化が導入されていますが、このリリースでは非再帰的な場合のみです。 * ワイルドカードのみを含む –include-pattern は、再帰フラグなしで blob ストレージをクエリするときにパフォーマンスが最適化されます。最初の * の前のセクションは、検索結果をより効率的にフィルタリングするため、サーバー側のプレフィックスとして使用されます。例えば、–include-pattern abc* は、”abc” のプレフィックス検索として実装されます。より複雑な例として、–include-pattern abc*123 は、abc のプレフィックス検索として実装され、abc*123 のすべての一致に対する通常のフィルタリングが続きます。コンテナー、もしくは仮想ディレクトリに直接含まれている blob を非再帰的に処理するには、URL の末尾 (クエリ文字列の前) に /* を含めます。例 : http://account.blob.core.windows.net/container/*?<SAS>
- –cap-mbps パラメーターは、浮動小数点数を解析するようになりました。これにより、最大スループットをメガビット/秒の数分の 1 に制限可能です。
特記事項
- 不明なソース/宛先の組み合わせで実行されると、よりユーザー フレンドリーなエラーメッセージが返されます。
- AzCopy は、サービス リビジョン 2019-02-02 にアップグレードされました。ローカル エミュレーター、Azure Stack、もしくは Azure Storage の他の private/special インスタンスをターゲットとするユーザーは、環境変数 AZCOPY_DEFAULT_SERVICE_API_VERSION を用いて、サービス リビジョンを意図的にダウングレードが必要な場合があります。このリリース以前は、デフォルトのサービスリビジョンは 2018-03-28 でした。
- Azure Files から Azure Files への転送の場合、すべての OS で –persist-smb-permissions と –persist-smb-info が使用可能です。(ただし、アップロードとダウンロードの場合、これらのフラグは Windows でのみ使用可能です)。
- AzCopy は、Azure Active Directory (AAD) 認証用の信頼できるドメイン サフィックスの一覧を含めるようになりました。
azcopy login 後、結果のトークンは一覧に表示される場所にのみ送信されます。一覧は、次のとおりです :
*.core.windows.net;*.core.chinacloudapi.cn;*.core.cloudapi.de;*.core.usgovcloudapi.net
必要に応じて、コマンドライン フラグ –trusted-microsoft-suffixes を用いて一覧に追加することが可能です。セキュリティのため、Microsoft Azure ドメインのみが追加可能です。 - 100 万を超えるファイルを転送する場合、AzCopy は進行状況レポートの頻度を 2 秒ごとから 2 分ごととなります。
大きな変更
- JavaScript プログラム (および数値の精度に同様の問題がある他の言語) とのインターフェースに対応するために、JSON 出力のすべての数値は文字列に変換されています (引用符で囲まれています)。
- TransferStatus の値 SkippedFileAlreadyExists は、SkippedEntityExists に名前が変更され、ファイルがスキップされる場合とフォルダー プロパティの設定がスキップされる場合の両方に使用できるようになりました。これは、azcopy job show の入出力と copy と sync から JSON 出力形式で表示されるステータス値に影響します。
- 認証情報メッセージの形式と内容 (JSON 出力形式) の例は、次のとおりです :
“Using OAuth token for authentication” は変更されました。
不具合修正
- AzCopy は、Windows へのダウンロード時に、読み取り専用および非表示のファイルも上書きできるようになりました (読み取り専用の場合は、新しい –force-if-read-only フラグを使用する必要があります)。
- アップロードでプリフェッチ エラーが発生した場合の nil デリファレンスを修正しました。
- log-level が none の時にログ ファイルを閉じた際の nil 逆参照が修正されました。
- ダウンロード、もしくはサービス間の転送のための Azure Files ソースの AzCopy のスキャンがさらに高速になりました。
- IPv4 アドレスで識別されるソースと宛先を使用できるようになりました。これにより、ストレージ エミュレーターでの使用が可能になります。このようなソース/宛先を使用する場合は、通常 from-to フラグが必要です (例 : –from-to BlobLocal (blob ストレージ エミュレーターからローカル ディスクにダウンロードする場合)。
- : 文字を含むファイルが、Windows に安全にダウンロード、Azure Files にアップロードできるようになりました。
- + を含む名前のオブジェクトを、インポートされた S3 オブジェクト名で安全に使用できるようになりました。
- check-length フラグがベンチマーク モードで公開されるようになりました。これにより、ファイル サイズが小さいベンチマークの場合に、長さのチェックをオフにして速度を上げることが可能です (ファイル サイズが大きい場合、長さのチェックのオーバーヘッドは非重要です)。
- サービス プリンシパル認証のアプリ内ドキュメントが修正され、application-id パラメーターが含まれるようになりました。
- ADLS Gen2 エンドポイントに対して azcopy rm を実行する場合、すべてのフィルター タイプが許可されなくなりました。以前は include/exclude パターンは許可されていませんでしたが、exclude-path は許可されていませんでした。それは間違っていました。(include-path を除いて) 重視されていないため、すべてが拒否されていたはずです。
- Managed ディスクをアップロードする際の空のページ範囲の最適化を修正しました。以前は、ユーザーが 2 つの異なるイメージを同じ Managed ディスク リソースに次々とアップロードすると、データが破損するリスクがありました。
参考
- azcopy | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-ref-azcopy - AzCopy v10 を使用して Azure Storage にデータをコピーまたは移動する | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10 - Azure/azure-storage-azcopy: The new Azure Storage data transfer utility – AzCopy v10
https://github.com/Azure/azure-storage-azcopy