【问题标题】:ARM template deployment failsARM 模板部署失败
【发布时间】:2017-04-26 23:35:12
【问题描述】:

我通过 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 资源(存储帐户、负载均衡器等)的公共地址。我在这里错过了什么吗?为什么我的部署失败?

【问题讨论】:

  • 您是否尝试在您的ARM模板中删除`"defaultValue" : "abc_xyz_name",`,如果您的参数,json值为null,则不需要使用它。

标签: azure-service-fabric arm-template


【解决方案1】:

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

【讨论】:

  • 我可以将 template.json 中的 defaultValue 替换为 parameters,json 中的 values 字段吗?
  • 我通过注释掉parameters.json 文件(无论如何值都是空的)并提交一个新的部署解决了这个问题。我想在节点类型上设置的放置约束也设置成功了。
猜你喜欢
  • 2022-09-30
  • 2022-09-29
  • 2020-08-31
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 2022-06-29
  • 1970-01-01
相关资源
最近更新 更多