无法解析 BICEP 文件

问题描述

我正在尝试部署一个示例 Azure BICEP 文件 - 只是一个简单的 vnet/子网。当我尝试使用 Az CLI 进行部署时,出现以下错误:

解析'./baseinfra.bicep'失败,请检查是否为有效的JSON格式

    //deploy virtual network & subnets
param vnetName string
param snetName string
param location string = resourceGroup().location
param vnetAddressPrefixes string
param snet1Prefix string
param snet2Prefix string
param resourceTags object

resource vnet1 'Microsoft.Network/virtualNetworks@2020-07-01' = {
  name: '${vnetName}-01'
  location: location
  tags: resourceTags
  properties: {
    addressSpace: {
      addressPrefixes: [
        vnetAddressPrefixes
      ]
    }
    subnets:[
      {
        name: '${snetName}-01'
        properties:{
          addressPrefix: snet1Prefix
        }
      }
      {
        name: '${snetName}-02'
        properties:{
          addressPrefix: snet2Prefix
        }
      }
    ]
  }
}

使用模块调用

module vnet './vnet.bicep' = {
  name: 'vnetDeploy'
  params: {
    vnetName: 'azmech-eastus2-vnet'
    snetName: 'azmech-eastus2-snet'
    vnetAddressPrefixes: '10.0.0.0/26'
    snet1Prefix: '10.0.0.0/28'
    snet2Prefix: '10.0.0.16/28'
    resourceTags: {
      Environment: 'Dev'
      Project: 'Bicep Tutorial'
    }
  }
}

感谢任何输入。

解决方法

安装了错误版本的 Azure CLI。必须是 2.20.0 或更高版本。我有一个旧的,所以它无法识别新的 BICEP 文件。

,

要升级 Bicep,请运行 cli 命令

$ az bicep upgrade
,

正确的 cmd 应该是 az upgrade 就我而言,az cli 已经存在,现在升级时 2.26.1

azure-cli                         2.14.2
core                              2.14.2
telemetry                          1.0.6

二头肌版本

Bicep CLI version 0.4.412 (f1169d063e)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...