我对azcopy如何解释blob感到困惑
我的源URL在 “staging”“folder”下有文件。
我的目标应该在 “staging/outputtestfinal” 下接收这些文件
但是,azcopy正在 “staging/outputtestfinal/staging” 下复制blob
为什么要在我目的地的第二个中转站?
我尝试 * https://myurlsource/staging/,但输出为staging/outputtestfinal/staging/
所以一个文件夹作为“*”作为创建..是吗?这么简单的事我是怎么做到的?
azcopy copy "https://myurlsource/staging/" "https://myurldestin.blob.core.windows.net/staging/outputtestfinal/" --include-pattern '*.json' --recursive=true
2条答案
按热度按时间w80xi6nr1#
当您使用
azcopy
从一个blob存储位置复制到另一个blob存储位置时,它将尝试保留相对于提供的源URL的文件夹结构。这就是为什么你在观察这种行为。如果你的源URL是
https://myurlsource/staging/
,并且你有一个名为file1.json
的blob,并且你要将它复制到https://myurldestin.blob.core.windows.net/staging/outputtestfinal/
,那么目标路径就变成了https://myurldestin.blob.core.windows.net/staging/outputtestfinal/staging/file1.json
。为了避免这种情况,您可以尝试以下操作:
请使用不带斜杠的字符串
*
:这告诉
azcopy
只考虑staging
虚拟目录下的blob,而不考虑目录本身。ego6inou2#
所以一个文件夹作为“*”作为创建..是吗?我怎么能做这么简单的事
在我的环境中,我的源容器看起来像你。
入口:
要复制目的地,您需要使用一个类似于**
*
的参数来只复制文件,它将排除该文件夹。从我这边的容器是在
private
**,所以我使用SAS令牌。命令:
输出:
目的地:
参考:
使用AzCopy v10将数据传输到Azure文件或从Azure文件传输数据|微软学习