Quando uma implantação de recursos do Azure falha usando modelos do ARM ou arquivos Bicep e é recebido um código de erro. Este artigo descreve como encontrar códigos de erro para que você possa solucionar o problema. Para obter mais informações sobre códigos de erro, consulte Erros comuns de implantação.
Tipos de erro
Há três tipos de erros relacionados a uma implantação:
Os erros de validação ocorrem antes do início de uma implantação e são causados por erros de sintaxe em seu arquivo. Um editor de código como Visual Studio Code pode identificar esses erros.
Erros de validação de simulação ocorrem quando um comando de implantação é executado, mas os recursos não são implantados. Esses erros são encontrados sem que seja necessário iniciar a implantação. Por exemplo, se um valor de parâmetro estiver incorreto, o erro será encontrado na validação de simulação.
Os erros de implantação ocorrem durante o processo de implantação e só podem ser encontrados por meio da avaliação do progresso da implantação no seu ambiente do Azure.
Todos os tipos de erros retornam um código de erro que você usa para solucionar problemas de implantação. Os erros de validação de simulação são mostrados no log de atividades, mas não aparecem no histórico de implantação. Um arquivo Bicep com erros de sintaxe não é compilado em JSON nem mostrado no log de atividades.
Os modelos são validados durante o processo de implantação e os códigos de erro são exibidos. Antes de executar uma implantação, você pode identificar erros de validação e simulação executando testes de validação com o Azure PowerShell ou a CLI do Azure.
Um modelo do ARM pode ser implantado a partir do portal. Se o modelo tiver erros de sintaxe, você verá um erro de validação quando tentar executar a implantação. Para saber mais informações sobre implantações do portal, consulte implantar recursos de modelo personalizado.
O exemplo a seguir tenta implantar uma conta de armazenamento e ocorre um erro de validação.
Selecione a mensagem para obter mais detalhes. O modelo tem um erro de sintaxe com o código de erro InvalidTemplate. O Resumo mostra que uma expressão não tem um parêntese de fechamento.
A saída exibe códigos de erro como InvalidTemplateDeployment e AccountNameInvalid que você pode usar para solucionar problemas e corrigir o modelo.
Para um arquivo Bicep, a saída de um problema de validação de sintaxe mostra um erro de parâmetro.
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.
Use o comando Bicep build para obter mais informações para solucionar problemas. A saída mostra o número de linha e coluna de cada erro entre parênteses e a mensagem de erro.
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.
Outros escopos
Há cmdlets do Azure PowerShell para validar modelos de implantação para os escopos de assinatura, grupo de gerenciamento e locatário.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
A saída exibe códigos de erro como InvalidTemplateDeployment e AccountNameInvalid que você pode usar para solucionar problemas e corrigir o modelo.
A saída mostra o número de linha e coluna de cada erro entre parênteses e a mensagem de erro, para o arquivo Bicep.
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.
Outros escopos
Há comandos da CLI do Azure para validar modelos de implantação para os escopos de assinatura, grupo de gerenciamento e locatário.
Diversas operações são processadas para implantar um recurso do Azure. Erros de implantação ocorrem quando uma operação passa pela validação, mas falha durante a implantação. Você pode exibir mensagens sobre cada operação de implantação e cada implantação para um grupo de recursos.