Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce diagnostic se produit lorsque vous affectez une valeur d’un type de données incompatible.
Description
Valeur de type <data-type> attendue, mais la valeur fournie est de type <data-type>.
Niveau
Avertissement / Erreur
Solution
Utilisez le type de données attendu. Si la valeur fournie est un jeton, placez-la dans la fonction any() pour atténuer le problème.
Exemples
L’exemple suivant déclenche le diagnostic, car le type de données attendu est une chaîne. La valeur fournie réelle est un entier :
var myValue = 5
output myString string = myValue
Vous pouvez corriger le diagnostic en fournissant une valeur de chaîne :
var myValue = '5'
output myString string = myValue
Dans Azure Bicep, l’erreur BCP033 lors de l’utilisation de deployment().location comme valeur par défaut pour un paramètre restreint par un décorateur @allowed est un scénario courant. Cette erreur se produit en raison du mécanisme strict de sécurité de type de compilation de Bicep. Par exemple:
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
param location string = deployment().location
Si vous souhaitez conserver la commodité de l'emplacement des métadonnées du déploiement actuel, vous pouvez contourner la vérification du type au moment de la compilation à l'aide de la fonction any() de Bicep. Cette fonction indique au compilateur de traiter l’expression comme étant faiblement typée :
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
// The any() function suppresses the BCP033 type-mismatch error
param location string = any(deployment().location)
Si votre déploiement est strictement lié à une seule région, vous pouvez éviter d’utiliser complètement les métadonnées dynamiques deployment().location et attribuer explicitement une valeur par défaut qui existe dans votre liste.
Étapes suivantes
Pour plus d’informations sur les diagnostics Bicep, consultez diagnostics principaux Bicep.