しかしWindows系の場合、サブディレクトリ内にあるとアップロードできないバグがあることは周知されていない(ような気がする)。
2019年12月13日にバグ報告をしたのだが、一向に修正されないので、解決策を日本語で書いておこうと思う。
現在の作業ディレクトリを「Z:\」とし、以下のディレクトリをアップロードの対象とする場合、
Z:\directory
└─sub-directory
├─textfile1.txt (シンボリックリンク)
└─textfile2.txt
仕様通りにアップロードしようとするなら、以下のコマンドを実行すればアップロードできるはず。
azcopy.exe copy "Z:\directory\" "https://host/blob/?$key" --follow-symlinks --recursive --from-to=LocalBlob
しかし、実際には以下のエラーが出てアップロードできない。
failed to perform copy command due to error: no transfers were scheduled because no files matched the specified criteria
そこで、ワイルドカードを使って明示的にファイルを指定してやる。
azcopy.exe copy "Z:\directory\*" "https://host/blob/?$key" --follow-symlinks --from-to=LocalBlob
ただし、「--recursive」機能が使えなくなるので、「sub-directory」内のディレクトリを対象にできなくなってしまう点には注意。
再帰的にシンボリックリンクを対象にしたい場合は、Get-ChildItemコマンドを併用する必要があるだろう。
0 件のコメント:
コメントを投稿