Код ошибки Bicep — BCP401
Эта ошибка возникает при использовании выражений для определения тел ресурсов при Spread
преобразовании оператора в функцию. Это ограничение в ФОРМАТЕ JSON.
Описание ошибки
The spread operator "..." is not permitted in this location.
Примеры
В следующем примере возникает ошибка, так как spread
оператор используется для определения текста ресурса:
param location string = resourceGroup().location
param addressPrefix string = '10.0.0.0/24'
resource vnet 'Microsoft.Network/virtualNetworks@2024-01-01' = {
name: 'vnetName'
location: location
...(addressPrefix != '' ? {
properties: {
addressSpace: {
addressPrefixes: [
addressPrefix
]
}
}
} : {})
}
Эту ошибку можно исправить с помощью оператора на нижнем уровне:
param location string = resourceGroup().location
param addressPrefix string = '10.0.0.0/24'
resource vnet 'Microsoft.Network/virtualNetworks@2024-01-01' = {
name: 'vnetName'
location: location
properties: {
addressSpace: {
...(addressPrefix != '' ? {
addressPrefixes: [
addressPrefix
]
} : {})
}
}
}
Следующие шаги
Дополнительные сведения об ошибках и кодах предупреждений Bicep см. в диагностика Bicep.