Azure AzCopy-在位置上用$(美元符号)打断

Azure AzCopy-在位置上用$(美元符号)打断,azure,azure-web-app-service,azure-storage,azure-storage-blobs,azcopy,Azure,Azure Web App Service,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

目标是直接复制到名为“$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.
我无法选择容器名称。逃离美元,又名

 \$
没用


我如何解决这个问题?我很欣赏你的见解。谢谢

@Gaurav已经指出了问题所在。目前Azcopy只能识别带有
$root
容器的美元符号。也可以在powershell中进行测试,没有中断,但是文件只会上载到
$root
,尽管名称在
$
之后

生成这个
$web
容器的新功能刚刚发布。Azcopy可能需要一段时间才能赶上变化

已打开,您可以订阅以获取进度

更新


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

对于未来可能会尝试使用预烘焙VSTS任务(如文件复制(在引擎盖下使用AzCopy))的读者,我建议考虑使用Azure CLI任务,例如

az存储blob上载批处理--帐户名myAccountName--源mySource-d$web

我的客户不愿意等待他们无法控制的日程安排,因此切换到CLI路径将我们的依赖关系向上游移动了一个级别,并消除了必须等待VSTS发布周期的情况(这次看起来大约6周)

谢谢杰瑞发回的邮件,谢谢!在我的VSTS中,我看到文件拷贝v2.0预览版似乎可用,表面上修复了这个问题。静态网站托管直接从Azure存储是一个很好的功能,我很高兴Azure提供了它


(我希望未来微软能够改善跨组织的沟通,以便热衷于查看新功能发布的精明用户能够在所有面向公众的领域获得更一致的体验。)

公认的答案是一个可行的解决方案,建议使用
az storage blob upload batch
,但blob destination参数
$web
需要单引号才能在PowerShell中工作。否则,PowerShell将引用名为“web”的变量


例如,上传当前目录:
az存储blob上传批次——账户名myaccountname——来源-你能帮我试试吗?您可以尝试使用
$root
容器而不是
$web
容器吗?我问这个问题的原因是为了确定问题是在blob容器名称中使用
$
签名还是将
$web
作为blob容器名称
$web
相对较新,AzCopy使用的存储SDK很可能尚未更新以处理此问题。如果我从末尾删除$web,AzCopy工作正常,文件以$root结尾。我正在尝试在VSTS内构建发布任务。很遗憾$web还不能工作,它阻止了我使用一个看起来很有用的静态网站功能。使用AzCopy 10.3.2值得一试。我们在处理特殊角色方面做了很多工作,尽管我个人还没有尝试过你提到的例子。谢谢你分享,John。虽然这些天我已经迁移到Azure CLI,但其他人应该会从你打开问题的努力中受益,Jerry--我在那里发布了一些详细信息。@paws这可以在新版本azcopy中修复,该版本也可供VSTS用户使用。你能接受我的回答来结束这个问题吗?谢谢Jerry发回的回复。