0

我有一个基本的 BICEP 模块,它部署了一个带有子网和 NSG 的虚拟网络。其中 1 个子网用于 azure 防火墙。天蓝色防火墙子网无法连接到 NSG,因此我设置了不将 nsg 部署到天蓝色防火墙子网的条件,但我无法使其正常工作。当它运行时,它返回一个错误:

      {
    "code": "MissingJsonReferenceId",
    "message": "Value for reference id is missing. Path properties.subnets[6].properties.networkSecurityGroup."
  },

条件是

id: VNetSettings.subnets[j].unique == false  ?  json('{"id": "[resourceId(\'Microsoft.Network/networkSecurityGroups\', concat(\'nsg-snet-${vNetName}-${VNetSettings.subnets[j].name}\'))]"') : json('null')

条件评估VnetSettings.subnets.unique == falseand if falsethen nsg 将被部署,但如果VNetSettings.subnets.unique==true那么它应该json('null')而不是部署 NSG。

false子网部署并附加 NSG,但true抛出此错误:

    "code": "MissingJsonReferenceId",
    "message": "Value for reference id is missing. Path properties.subnets[6].properties.networkSecurityGroup."
  },

请有人帮助:(

谢谢

4

1 回答 1

0

我现在有这个工作。诀窍是将条件放在属性上properties而不是networkSecurityGroup属性内

于 2021-09-02T21:08:59.727 回答