Quando una distribuzione di risorse di Azure ha esito negativo usando i modelli di Azure Resource Manager (modelli di ARM) o i file Bicep, viene restituito un codice di errore. Questo articolo descrive come individuare i codici di errore per risolvere il problema. Per altre informazioni sui codici di errore, vedere errori di distribuzione comuni.
Tipi di errore
Alla distribuzione sono correlati tre tipi di errori:
Gli errori di convalida si verificano prima dell'inizio di una distribuzione e sono causati da errori di sintassi nel file. Un editor di codice, ad esempio Visual Studio Code, è in grado di identificare questi errori.
Gli errori di convalida preliminare si verificano quando si esegue un comando di distribuzione, ma le risorse non vengono distribuite. Vengono rilevati senza avviare la distribuzione. Ad esempio, se un valore di parametro non è corretto, l'errore viene rilevato nella convalida preliminare.
Gli errori di distribuzione si verificano durante il processo di distribuzione e possono essere rilevati soltanto valutando lo stato di avanzamento della distribuzione nell'ambiente di Azure.
Tutti i tipi di errore restituiscono un codice errore usato per risolvere i problemi della distribuzione. Gli errori preliminari e di convalida vengono visualizzati nel log attività ma non nella cronologia della distribuzione. Un file Bicep con errori di sintassi non viene compilato in JSON e non viene visualizzato nel log attività.
I modelli vengono convalidati durante il processo di distribuzione e vengono visualizzati i codici di errore. Prima di eseguire una distribuzione, è possibile identificare gli errori di convalida e gli errori preliminari eseguendo i test di convalida con Azure PowerShell o con l'interfaccia della riga di comando di Azure.
È possibile distribuire un modello di ARM dal portale. Se il modello presenta errori di sintassi, verrà visualizzato un errore di convalida quando si tenta di eseguire la distribuzione. Per altre informazioni sulle distribuzioni del portale, vedere Distribuire risorse da un modello personalizzato.
Nell'esempio seguente si verifica un errore di convalida durante un tentativo di distribuzione di un account di archiviazione.
Selezionare il messaggio per avere altre informazioni. Il modello presenta un errore di sintassi con il codice errore InvalidTemplate. Il Riepilogo indica una parentesi chiusa mancante in un'espressione.
L'output visualizza codici di errore quali InvalidTemplateDeployment o AccountNameInvalid che possono essere usati per risolvere i problemi e correggere il modello.
Per un file Bicep, l'output per un problema di convalida della sintassi indica un errore di parametro.
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
Per ottenere altre informazioni sulla risoluzione dei problemi, usare il comando di compilazione Bicep. L'output mostra tra parentesi il numero di ogni riga e colonna di errore, con il messaggio di errore.
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Altri ambiti
Per convalidare i modelli di distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti tenant, sono disponibili i cmdlet di Azure PowerShell.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
L'output visualizza codici di errore quali InvalidTemplateDeployment o AccountNameInvalid che possono essere usati per risolvere i problemi e correggere il modello.
Per un file Bicep, l'output mostra tra parentesi il numero di ogni riga e colonna di errore, con il messaggio di errore.
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Altri ambiti
Per convalidare i modelli di distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti tenant, sono disponibili i comandi dell'interfaccia della riga di comando di Azure.
Per distribuire una risorsa di Azure vengono elaborate diverse operazioni. Gli errori di distribuzione si verificano quando un'operazione supera la convalida, ma non viene eseguita correttamente durante la distribuzione. Per un gruppo di risorse è possibile visualizzare i messaggi relativi a ogni operazione di distribuzione e a ciascuna distribuzione.
Per ottenere informazioni sulla distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti tenant, sono disponibili i cmdlet di Azure PowerShell.
Per visualizzare i messaggi relativi alle operazioni di una distribuzione con l'interfaccia della riga di comando di Azure, usare az deployment operation group list.
Per visualizzare tutte le operazioni relative a una distribuzione:
az deployment operation group list \
--name exampledeployment \
--resource-group examplegroup \
--query "[*].properties"
Per specificare un tipo di proprietà specifico:
az deployment operation group list \
--name exampledeployment \
--resource-group examplegroup \
--query "[*].properties.statusCode"
az deployment group show \
--resource-group examplegroup \
--name exampledeployment
Altri ambiti
Per ottenere informazioni sulla distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti tenant, sono disponibili i comandi dell'interfaccia della riga di comando di Azure.