ARM 模板部署失败

ARM template deployment fails

我通过 Azure 门户创建了一个集群,我想通过 ARM 模板对其进行一些更新。我对模板进行了必要的编辑(指定的放置约束),并且我正在使用 this script 部署到远程集群。我收到一条错误消息“部署参数 'abc_xyz' 的值为空。请指定值或使用参数参考'。该参数的值在我的 ARM 模板中定义,但在 parameters.json:

中为空
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "abc_xyz" : {
         "defaultValue" : "abc_xyz_name",
         "type": "String"
},  
}

Parameters.json:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
 "parameters": {
      "abc_xyz" : {
      "value": null
},

对于此示例,假设参数 "abc_xyz" 指的是 azure 资源(存储帐户、负载均衡器等)的 public 地址。我在这里错过了什么吗?为什么我的部署失败?

在您的parameter.json中,您的abc_xyz值为null,这意味着您需要在部署模板时提供值。在主模板中,您不需要使用 defaultValue。您可以按如下方式修改您的模板:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "abc_xyz" : {

         "type": "String"
},  
}