【问题标题】:Why does Azure say params are missing from my ARM Template when I provision with CLI?当我使用 CLI 进行预配时,为什么 Azure 会说我的 ARM 模板中缺少参数?
【发布时间】:2020-07-31 23:17:46
【问题描述】:

这是我正在使用的 Azure CLI 命令:

az deployment group create --resource-group example_rg_name --template-file arm_templates/my_project_folder/template.json --no-prompt

这是产生的错误: InvalidTemplate - Deployment template validation failed: 'The value for the template parameter 'location' at line '5' and column '21' is not provided. Please see https://aka.ms/resource-manager-parameter-files for usage details.'.

这是据称无效的第 5 行:

1 {
2     "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
3     "contentVersion": "1.0.0.0",
4     "parameters": {
5         "location": {
6             "type": "String"
7         },
...

确实,这里的位置值只包括类型。但是,该位置存在于 parameters.json 文件中,请参见下面的第 6 行:

1 {
2     "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
3     "contentVersion": "1.0.0.0",
4     "parameters": {
5         "location": {
6             "value": "westus2"  
7         },

并注意这个值是如何在 template.json 文件中引用的,例如下面的第 51 行:

46 "resources": [
47         {
48             "type": "Microsoft.Databricks/workspaces",
49             "apiVersion": "2018-04-01",
50            "name": "[parameters('workspaceName')]",
51            "location": "[parameters('location')]",
52            "dependsOn": [

我需要硬编码这些值来代替这些引用吗?此模板和参数文件是在手动创建服务后从 Azure 导出的,顺便说一下,这是一个数据块服务。

关于我在这里缺少什么的任何提示?

谢谢

【问题讨论】:

    标签: azure azure-resource-manager azure-cli


    【解决方案1】:

    您需要在创建部署时引用您的参数文件。

    az 部署组创建 --resource-group example_rg_name --template-file arm_templates/my_project_folder/template.json --parameters @parameters.json --no-prompt

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 2014-05-13
      • 2020-06-19
      相关资源
      最近更新 更多