Freigeben über


Bicep-Diagnosecode – BCP420

In Bicep muss jede Ressource oder jedes Modul zur Kompilierungszeit über einen bekannten Bereitstellungsbereich verfügen. Der Bereich muss statisch bestimmt werden. Wenn der Bereich von einem Parameter, einer Variablen oder einem Ausdruck abhängt, der während der Kompilierung nicht ausgewertet werden kann, löst BCP420 von Bicep aus.

BESCHREIBUNG

Der Bereich konnte zur Kompilierungszeit nicht aufgelöst werden, da der angegebene Ausdruck mehrdeutig oder zu komplex ist. Bereichsdefinitionsausdrücke müssen ohne Kenntnis von Parameterwerten auf eine bestimmte Art von Bereich zurückgeführt werden.

Niveau

Fehler

Beispiele

Der folgende Code löst BCP420 aus, da die Bereichseigenschaft einen bedingten Ausdruck verwendet, der vom Laufzeitwert des parameters targetResourceGroupName abhängt. Bicep erfordert, dass Bereichsausdrücke zur Kompilierungszeit in einen bestimmten Bereich aufgelöst werden, ohne sich auf Parameterwerte oder dynamische Logik zu verlassen. Da der Compiler den Bereich nicht ermitteln kann, ohne targetResourceGroupName auszuwerten, löst er BCP420 aus.

param targetResourceGroupName string = 'my-target-rg'
param storageAccountName string = 'mystorageacct'
param location string = 'eastus'

module storageModule './module.bicep' = {
  name: 'deployStorage'
  scope: empty(targetResourceGroupName) ? resourceGroup() : resourceGroup(targetResourceGroupName)
  params: {
    storageAccountName: storageAccountName
    location: location
  }
}

Nächste Schritte

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