AzCopy-使用$(美元符号)中断位置

时间:2018-06-29 02:06:37

标签: azure azure-web-sites azure-storage azure-storage-blobs azcopy

目标是直接复制到名为“ $ web”的blob容器中。

问题是,美元符号似乎破坏了AzCopy的位置解析...

AzCopy.exe /Source:"C:\temp\" /Dest:"https://mystorage.blob.core.windows.net/$web" /DestKey:"..." /SetContentType /V

Invalid location 'https://mystorage.blob.core.windows.net/$web', address could not be parsed.

我没有选择容器名称。转义$,又名

 \$

没有用。

我该如何解决?见解赞赏。谢谢!

3 个答案:

答案 0 :(得分:1)

@Gaurav指出了问题。目前,Azcopy仅能识别带有$root容器的美元符号。还可以在Powershell中进行测试,不会中断,但是文件名会被上传到$root,尽管其名称为$

生成此$web容器-Static website hosting for Azure Storage的新功能刚刚发布。 Azcopy可能需要一些时间来赶上更改。

已打开an issue,您可以订阅它来获取进度。

更新

最新的v7.3.0 Azcopy支持此功能,对于VSTS用户,Azure File Copy v2任务(2.0.7)也与此最新版本一起使用。

答案 1 :(得分:1)

对于将来可能倾向于使用诸如文件复制(在后台使用AzCopy)的VSTS任务的读者,我建议考虑 Azure CLI 任务相反,例如

az storage blob upload-batch --account-name myAccountName --source mySource -d $web

我的客户不愿等待他们无法控制的时间表,因此切换到CLI路径将我们的依赖关系上移了一个级别,并省去了等待VSTS发布节奏的麻烦(这次大约需要6周的时间) 。

感谢杰里发回邮件,鸣谢!在我的VSTS中,我看到“文件复制v2.0预览”似乎可用,并且表面上解决了此问题。直接从Azure存储直接托管静态网站是一个不错的功能,我很高兴Azure提供它。

(我希望将来MS可能能够改善跨组织的通信,以便精明的用户热衷于签出新功能,可以在所有面向公众的区域中获得更一致的体验。)

答案 2 :(得分:0)

可接受的答案是一个可行的解决方法,建议使用az storage blob upload-batch,但blob目标参数$web必须用单引号引起来才能在PowerShell中工作。否则,PowerShell将引用名称为“ web”的变量

例如上载当前目录:az storage blob upload-batch --account-name myaccountname --source . -d '$web'