你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

肱二头肌诊断代码 - BCP034

当数组中出现类型不匹配时,即数组中提供的项与包含属性预期的数据类型不匹配,就会发生这种诊断。

Description

包围数组期望一个类型为“module[] |(资源|模块)|resource[]“,但提供的项类型为”string“。

级别

警告 / 错误

解决方案

确保你放入数组属性的每个项目都符合该属性所需的预期数据类型。

例子

dependsOn 属性期望当前文件中定义的资源符号名称或模块符号名称数组。 它不接受包含资源名的资源ID、字符串或变量。

// Define a variable holding the Storage Account name
param storageAccountName string = uniqueString(resourceGroup().id, 'stgacct')

// Define the Storage Account resource
resource stg 'Microsoft.Storage/storageAccounts@2025-06-01' = {
  name: storageAccountName
  location: resourceGroup().location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

// Define the Web App resource that depends on the Storage Account
resource webApp 'Microsoft.Web/serverfarms@2025-03-01' = {
  name: 'my-app-service-plan'
  location: resourceGroup().location
  sku: {
    name: 'B1'
  }
  dependsOn: [
    // BCP034: Expected 'resource', but got 'string'
    // This is WRONG: it's a string, not the resource reference
    storageAccountName
  ]
}

你可以通过使用资源符号名代替字符串来修复诊断:

// Define a variable holding the Storage Account name
param storageAccountName string = uniqueString(resourceGroup().id, 'stgacct')

// Define the Storage Account resource
resource stg 'Microsoft.Storage/storageAccounts@2025-06-01' = {
  name: storageAccountName
  location: resourceGroup().location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

// Define the Web App resource that depends on the Storage Account
resource webApp 'Microsoft.Web/serverfarms@2025-03-01' = {
  name: 'my-app-service-plan'
  location: resourceGroup().location
  sku: {
    name: 'B1'
  }
  dependsOn: [
    stg
  ]
}

后续步骤

有关 Bicep 诊断的详细信息,请参阅 Bicep 核心诊断