【问题标题】:Parameters file: Template validation failed: Required property 'type' not found in JSON参数文件:模板验证失败:在 JSON 中找不到必需的属性“类型”
【发布时间】:2020-07-29 22:17:02
【问题描述】:

从这里使用 ARM 模板:https://raw.githubusercontent.com/elastic/azure-marketplace/7.6.0/src/mainTemplate.json

为通过 terraform 部署 ARM 模板创建了一个参数文件(仅限 sn-p,实际参数更多):

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json##",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "_artifactsLocation": {
      "value": "https://raw.githubusercontent.com/elastic/azure-marketplace/7.6.0/src/"
    },
    "_artifactsLocationSasToken": {
      "value": ""
    },
    "esVersion": {
      "value": "${esVersion}"
    },
    "esClusterName": {
      "value": "${esClusterName}"
    },
    "loadBalancerType": {
      "value": "external"
    },
    "loadBalancerInternalSku": {
      "value": "Basic"
    }
  }
}

错误消息:模板验证失败:在 JSON 中找不到必需的属性“类型”。路径 'parameters._artifactsLocation',第 7 行,位置 5。”

我们需要在参数文件中指定属性“type”吗?

【问题讨论】:

    标签: azure arm-template


    【解决方案1】:

    不,解决这个问题:

    "_artifactsLocation": {
        "value": "https://raw.githubusercontent.com/elastic/azure-marketplace/7.6.0/src/"
    },
    

    【讨论】:

    • 改成以上,问题依旧。
    • 你需要在模板中输入,而不是在参数文件中
    【解决方案2】:

    固定:

    不需要以下参数:

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

    删除它们后,不再有模板验证失败。有些参数文件不需要这些头文件。

    参考:https://github.com/Azure/azure-sdk-for-python/issues/482

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多