Azure 云中的 ARM 模板部署失败 Shell

ARM Template deployment fails in Azure Cloud Shell

当我在 Azure Cloud shell 中发出以下命令时:

az group deployment create --resource-group OurResourceGroup --template-file @WebSiteSQLDatabase.json --parameters @WebSiteSQLDatabase.parameters.json

我收到以下错误消息:

[Errno 36] File name too long: '{\r\n  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#...

消息继续并输出整个模板,就好像那是太长的文件名一样。这显然是一个 Python 错误...我已验证该文件位于正确的位置,并尝试了几个不同的位置。

我也试过从 URL:

执行
Azure:~$ az group deployment create --resource-group OurResourceGroup --template-uri https://xxxx.file.core.windows.net/cs-xxxx-xxxx/templates/WebSiteSQLDatabase.json

但是 returns 这个消息:

HTTP Error 400: The value for one of the HTTP headers is not in the correct format.

如有任何建议,我们将不胜感激。

我怀疑你需要在文件名前加上 @。第二个错误是由于 Azure 文件未通过 HTTP url 公开,您应该使用 blob 存储,而不是文件共享

模板错误:sql服务器名称不能包含-
此外,似乎 Azure Cli 中存在一些错误阻止了它的工作(在 PS 中做同样的事情)。