Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa diagnostica si verifica quando si assegna un valore di un tipo di dati non corrispondente.
Description
Previsto un valore di tipo <data-type> , ma il valore specificato è di tipo <data-type>.
livello
Avviso / Errore
Soluzione
Usare il tipo di dati previsto. Se il valore specificato è un token, racchiuderlo nella funzione any() per attenuare il problema.
Esempi
Nell'esempio seguente viene generata la diagnostica perché il tipo di dati previsto è una stringa. Il valore specificato effettivo è un numero intero:
var myValue = 5
output myString string = myValue
È possibile correggere la diagnostica specificando un valore stringa:
var myValue = '5'
output myString string = myValue
In Azure Bicep viene visualizzato l'errore BCP033 durante l'uso di deployment().location come valore predefinito per un parametro limitato da un elemento decorator @allowed è uno scenario comune. Questo errore si verifica a causa del meccanismo strict di sicurezza dei tipi in fase di compilazione di Bicep. Per esempio:
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
param location string = deployment().location
Se si vuole mantenere la comodità di impostare come predefinito il percorso dei metadati della distribuzione corrente, è possibile ignorare il controllo del tipo in fase di compilazione usando la funzione any() di Bicep. Questa funzione indica al compilatore di considerare l'espressione come tipizzata in modo libero:
targetScope = 'subscription'
@allowed([
'southcentralus'
'eastus2euap'
])
// The any() function suppresses the BCP033 type-mismatch error
param location string = any(deployment().location)
Se la distribuzione è rigidamente associata a una singola area, è possibile evitare di usare completamente i metadati dinamici deployment().location e assegnare in modo esplicito un valore predefinito esistente all'interno dell'elenco.
Passaggi successivi
Per altre informazioni sulla diagnostica Bicep, vedere Diagnostica dei core Bicep.