如何在不提供已定义默认值的变量的情况下部署 Azure RM 模板?

如何在不提供已定义默认值的变量的情况下部署 Azure RM 模板?

我想部署来自Azure 资源管理器快速入门模板

那里的许多模板都在模板文件中指定了默认值(例如这个azuredeploy.json ):

"ouPath": {
  "type": "string",
  "defaultValue": "",
  "metadata": {
    "description": "Specifies an organizational unit (OU) for the domain account. Enter the full distinguished name of the OU in quotation marks. Example: 'OU=testOU; DC=domain; DC=Domain; DC=com"
  }
},

然而,相应的azuredeploy.参数.json没有定义ouPath值。

--parameters-file当我在 Azure CLI 调用中指定文件时:

azure group deployment create "${resource_group_name}" "${deployment_name}" --template-uri "${template_uri}" --parameters-file ${parameters_file}

我收到一个错误:

信息:执行命令组部署创建
  错误:模板和部署“参数”对象长度不匹配
  部署参数文件没有定义{ouPath}。
  错误:错误信息已记录到/Users/techraf/.azure/azure.err
  错误:组部署创建命令失败

如果我明确定义将值添加到parameters.json文件中,则部署可以正常工作。


主要问题:

上述 Azure 存储库中没有明确指定值的示例()的数量之多parameters.json让我想到,一定有一种方法可以告诉 Azure 使用默认值,而不是在中提供它parameters.json

有没有办法避免defaultValue在使用 Azure CLI 时添加模板文件中定义的值?


附加问题:

更糟糕的是,在我上面给出的例子中,默认值为空,如果我在中指定一个空值parameters.json

"ouPath": {
  "value": ""
},

我得到了一个关于该值的交互式提示。

我怎样才能避免这种情况?

答案1

这似乎是 Azure CLI 0.10.5 中的一个错误。

0.10.6 版本没有出现此问题,尽管发行说明不要明确提及此修复。

相关内容