Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Diagnose tritt auf, wenn Sie einen Wert eines nicht übereinstimmenen Datentyps zuweisen.
Beschreibung
Es wurde ein Typwert <data-type> erwartet, der angegebene Wert ist jedoch vom Typ <data-type>.
Grad
Warnung / Fehler
Lösung
Verwenden Sie den erwarteten Datentyp. Wenn der bereitgestellte Wert ein Token ist, schließen Sie ihn in die Any()-Funktion ein, um das Problem zu beheben.
Beispiele
Im folgenden Beispiel wird die Diagnose ausgelöst, da der erwartete Datentyp eine Zeichenfolge ist. Der tatsächliche angegebene Wert ist eine ganze Zahl:
var myValue = 5
output myString string = myValue
Sie können die Diagnose beheben, indem Sie einen Zeichenfolgenwert angeben:
var myValue = '5'
output myString string = myValue
In Azure Bicep ist das Auftreten von Error BCP033 bei verwendung von deployment().location als Standardwert für einen Parameter, der durch einen @allowed-Dekoror eingeschränkt ist, ein gängiges Szenario. Dieser Fehler tritt aufgrund des strengen Kompilierungszeitsicherheitsmechanismus Bicep auf. Beispiel:
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
param location string = deployment().location
Wenn Sie die Standardeinstellung für den Metadatenspeicherort der aktuellen Bereitstellung beibehalten möchten, können Sie die Überprüfung des Kompilierungszeittyps umgehen, indem Sie die any()-Funktion von Bicep verwenden. Diese Funktion weist den Compiler an, den Ausdruck als lose eingegeben zu behandeln:
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
// The any() function suppresses the BCP033 type-mismatch error
param location string = any(deployment().location)
Wenn Ihre Bereitstellung starr an einen einzelnen Bereich gebunden ist, können Sie die Verwendung der dynamischen deployment().location Metadaten vollständig vermeiden und explizit einen Standardwert zuweisen, der in Ihrer Liste vorhanden ist.
Nächste Schritte
Weitere Informationen zur Bicep-Diagnose finden Sie unter Bicep-Kerndiagnose.