Freigeben über


Bizeps-Diagnosecode – BCP034

Diese Diagnose tritt auf, wenn es innerhalb eines Arrays eine Typunübereinstimmung gibt, nämlich wenn ein in einem Array bereitgestelltes Element nicht mit dem von der enthaltenden Eigenschaft erwarteten Datentyp übereinstimmt.

Description

Das umschließende Array erwartete ein Element vom Typ "module[] | (Ressource | Modul) | resource[]", aber der bereitgestellte Gegenstand war vom Typ "String".

Ebene

Warnung / Fehler

Lösung

Stellen Sie sicher, dass jedes Element, das Sie in eine Array-Eigenschaft einfügen, dem erwarteten Datentyp entspricht, der von dieser Eigenschaft benötigt wird.

Examples

Die Eigenschaft dependsOn erwartet ein Array von ressourcensymbolischen Namen oder modulsymbolischen Namen, die in der aktuellen Datei definiert sind. Es akzeptiert keine Ressourcen-IDs, Strings oder Variablen mit Ressourcennamen.

// 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
  ]
}

Sie können die Diagnose beheben, indem Sie den symbolischen Namen der Ressource anstelle der Zeichenkette verwenden:

// 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
  ]
}

Nächste Schritte

Weitere Informationen zur Bicep-Diagnose finden Sie unter Bicep-Kerndiagnose.