Бөлісу құралы:


Код ошибки 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.