Condividi tramite


Codice errore Bicep - BCP401

Questo errore si verifica quando si usano espressioni per definire i corpi delle risorse quando l'operatore Spread viene convertito in una funzione. Si tratta di una limitazione in JSON.

Descrizione errore

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

Esempi

L'esempio seguente genera l'errore perché l'operatore spread viene usato per definire il corpo della risorsa:

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

È possibile correggere l'errore usando l'operatore nel livello inferiore:

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

Passaggi successivi

Per altre informazioni sui codici di errore e di avviso di Bicep, vedere Diagnostica dei core Bicep.