2017-04-26 171 views
0

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

{ 
"$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”指的是天青资源的公共地址(存储账户,负载均衡器等)。我在这里错过了什么吗?为什么我的部署失败?

+0

你尝试删除'“默认值”:“abc_xyz_name”,'在你的ARM模板,如果你的参数,JSON值是'null',你不需要使用它。 –

回答

0

在您的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" 
}, 
} 
+0

我是否可以将template.json中的defaultValue替换为parameters,json中的values字段? – WildFlower

+0

是的,你可以。 –

+1

我通过评论parameter.json文件(值无论如何)并提交新的部署来解决了这个问题。我想在节点类型上设置的布局约束也已成功设置。 – WildFlower