Azcopy复制时目标路径多出staging目录问题咨询
Azcopy Blob复制路径问题解决
问题描述
我对Azcopy解析Blob的逻辑存在疑惑:我的源URL的文件存储在名为staging的虚拟文件夹下,期望将这些文件复制到目标路径staging/outputtestfinal下,但实际Azcopy却将Blob复制到了staging/outputtestfinal/staging路径下。我尝试使用源路径https://myurlsource/staging/*,结果目标路径变成了staging/outputtestfinal/staging/*,还生成了名为*的文件夹。原执行命令如下:
azcopy copy "https://myurlsource/staging/" "https://myurldestin.blob.core.windows.net/staging/outputtestfinal/" --include-pattern '*.json' --recursive=true
正确实现方式
要将源staging虚拟文件夹下的*.json文件直接复制到目标的staging/outputtestfinal路径下,避免嵌套多余的staging目录,执行以下调整后的命令:
正确命令
azcopy copy "https://myurlsource/staging/?recursive=true" "https://myurldestin.blob.core.windows.net/staging/outputtestfinal/" --include-pattern '*.json'
关键说明
- 原命令中使用命令行参数
--recursive=true搭配源路径https://myurlsource/staging/时,Azcopy会将源staging目录本身作为复制对象,导致目标路径出现嵌套的staging子目录。 - 在源路径末尾添加
?recursive=true(替代命令行的--recursive参数),Azcopy会仅复制staging目录下的内容,而不会将staging目录本身复制到目标路径中。 - 禁止使用
staging/*作为源路径,Azcopy会将*识别为实际的文件夹名称,从而生成错误的*目录。
内容的提问来源于stack exchange,提问作者user1657666
相关产品推荐
相关产品推荐

