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 核心診斷。