共用方式為


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