2017-04-26 120 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