如何在二头肌中输出资源ID

clo*_*cop 6 azure azure-virtual-network azure-resource-manager azure-bicep

如何在二头肌中输出资源id,在创建子网时我们如何获取输出字符串,虚拟网络语法如下所示

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: vnetName
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'subnetpoc-1'
        properties: {
          addressPrefix: '10.0.3.0/24'
        }
      }
      {
        name: 'subnetnetpoc-2'
        properties: {
          addressPrefix: '10.0.4.0/24'
        }
      }
    ]
  }
}

// output subnet string = ""
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 15

您可以使用resourceId该功能:

param vnetName string

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: vnetName
  ...
}

// Return the 1st subnet id
output subnetId1 string = resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')

// Return the 2nd subnet id
output subnetId2 string = resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')

// Return as array
output subnetIdsArray array = [
  resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')
  resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')
]

// Return as object
output subnetIdsObject object = {
  subnetId1: resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-1')
  subnetId2: resourceId('Microsoft.Network/VirtualNetworks/subnets', vnetName, 'subnetpoc-2')
}



Run Code Online (Sandbox Code Playgroud)