你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
当数组中出现类型不匹配时,即数组中提供的项与包含属性预期的数据类型不匹配,就会发生这种诊断。
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 核心诊断。