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

AzCopy - breaks on location with $ (dollar sign)

目标是直接复制到名为“$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 容器的新功能--Static website hosting for Azure Storage 刚刚发布。 Azcopy 可能需要一些时间才能赶上变化。

已开通an issue,可订阅获取进度

更新

最新 v7.3.0 Azcopy 支持此功能,对于 VSTS 用户,Azure File Copy v2 task(2.0.7) 也支持此最新版本。

对于可能想要使用预制 VSTS 任务(例如 File Copy(在后台使用 AzCopy)的未来读者,我建议考虑 改为使用 Azure CLI 任务,例如

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

我的客户不愿意等待他们无法控制的时间表,因此切换到 CLI 路径将我们的依赖项向上游移动了一个级别,并且无需等待 VSTS 发布节奏(看起来大约 6 周)时间)。

感谢 Jerry 的回帖,非常荣幸!在我的 VSTS 中,我看到 File Copy v2.0 Preview 似乎可用并且表面上修复了这个问题。直接从 Azure 存储托管静态网站是一个很好的功能,我很高兴 Azure 提供它。

(我希望将来 MS 能够改进跨组织的沟通,以便热衷于检查新功能发布的精明用户可以在所有 public-面对表面积。)

接受的答案是建议使用 az storage blob upload-batch 的可行解决方法,但 blob 目标参数 $web 需要单引号才能在 PowerShell 中工作。否则 PowerShell 将引用名称为 "web"

的变量

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