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.