#azure #azure-resource-manager #azure-virtual-network #azure-bicep
Вопрос:
Как вывести идентификатор ресурса в bicep, при создании подсети как мы получаем выходную строку, синтаксис виртуальной сети показан ниже
"" 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 = ""
Ответ №1:
Для этого вы можете использовать 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') }
Комментарии:
1. Спасибо, он возвращает идентификатор ресурса для одной подсети, но когда я попытался получить идентификатор обеих подсетей, я получил сообщение об ошибке «»Идентификатор ресурса»: тип » Microsoft. Для сети/виртуальных сетей/подсетей» требуется «2» аргумента(ов) имени ресурса» Идентификатор ресурса(тип ресурса: строка, имя ресурса 0 : строка, имя ресурса 1 : строка, имя ресурса 2 : строка, … : строка): строка
2. вывод строки подсети = идентификатор ресурса(‘Microsoft. Сеть/виртуальные сети/подсети», имя сети, «подсеть-1″,»подсеть-2»)
3. Отредактировал свой ответ
4. Спасибо тебе, Чудесно,
5. Пожалуйста, примите ответ, если с вашей стороны все в порядке