Kod błędu Bicep — BCP401
Ten błąd występuje, gdy używasz wyrażeń do definiowania jednostek zasobów, gdy Spread
operator jest konwertowany na funkcję. Jest to ograniczenie w formacie JSON.
Opis błędu
The spread operator "..." is not permitted in this location.
Przykłady
Poniższy przykład zgłasza błąd, ponieważ spread
operator jest używany do definiowania treści zasobu:
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
]
}
}
} : {})
}
Błąd można naprawić przy użyciu operatora na niższym poziomie:
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
]
} : {})
}
}
}
Następne kroki
Aby uzyskać więcej informacji na temat błędów i kodów ostrzeżeń Bicep, zobacz Diagnostyka rdzenia Bicep.