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 trovare i codici di errore in modo da poter 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 come Visual Studio Code può identificare questi errori.
Gli errori di convalida preliminare si verificano quando viene eseguito 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 trovati solo valutando lo stato di avanzamento della distribuzione nell'ambiente 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 verifica preliminare eseguendo test di convalida con Azure PowerShell o l'interfaccia della riga di comando di Azure.
È possibile distribuire un modello di Resource Manager 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 le risorse dal modello personalizzato.
L'esempio seguente tenta di distribuire un account di archiviazione e si verifica un errore di convalida.
Selezionare il messaggio per avere altre informazioni. Il modello presenta un errore di sintassi con codice InvalidTemplatedi errore . Il riepilogo mostra che un'espressione manca una parentesi di chiusura.
L'output visualizza codici di errore come InvalidTemplateDeployment o AccountNameInvalid che è possibile usare per risolvere i problemi e correggere il modello.
Per un file Bicep, l'output per un problema di convalida della sintassi mostra 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 il numero di riga e di colonna di ogni errore tra parentesi e 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
Sono disponibili Azure PowerShell cmdlet per convalidare i modelli di distribuzione per gli ambiti di sottoscrizione, gruppo di gestione e tenant.
Per convalidare un modello di Resource Manager prima della distribuzione, eseguire az deployment group validate.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
L'output visualizza codici di errore come InvalidTemplateDeployment o AccountNameInvalid che è possibile usare per risolvere i problemi e correggere il modello.
Per un file Bicep, l'output mostra il numero di riga e di colonna di ogni errore tra parentesi e 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
Sono disponibili comandi dell'interfaccia della riga di comando di Azure per convalidare i modelli di distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti del tenant.
Per distribuire una risorsa di Azure vengono elaborate diverse operazioni. Gli errori di distribuzione si verificano quando un'operazione supera la convalida ma non riesce durante la distribuzione. È possibile visualizzare i messaggi relativi a ogni operazione di distribuzione e a ogni distribuzione per un gruppo di risorse.
Per visualizzare i messaggi di operazioni di una distribuzione con l'interfaccia della riga di comando di Azure, usare az deployment operation group list.
Per visualizzare tutte le operazioni per 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
Esistono comandi dell'interfaccia della riga di comando di Azure per ottenere informazioni sulla distribuzione per la sottoscrizione, il gruppo di gestione e gli ambiti tenant.