Sdílet prostřednictvím


Kód chyby Bicep – BCP401

K této chybě dochází, když pomocí výrazů definujete těla prostředků, protože Spread operátor se převede na funkci. Jedná se o omezení ve formátu JSON.

Popis chyby

The spread operator "..." is not permitted in this location.

Příklady

Následující příklad vyvolá chybu, protože spread operátor slouží k definování těla prostředku:

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
        ]
      }
    }
  } : {})
}

Chybu můžete opravit pomocí operátoru na nižší úrovni:

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
        ]        
      } : {})
    }
  }
}

Další kroky

Další informace o kódech chyb a upozornění bicep najdete v tématu Diagnostika jádra Bicep.