Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para solucionar um erro de implantação, você pode habilitar o log de depuração para obter mais informações. O log de depuração funciona para implantações com arquivos Bicep ou modelos do ARM (modelos do Azure Resource Manager). Você pode obter dados sobre a solicitação e a resposta de uma implantação para saber a causa de um problema.
Aviso
O registro em log de depuração poderá expor segredos, como senhas ou operações listKeys. A ocultação de um valor exato de um parâmetro seguro em uma mensagem de erro de implantação não garante que variantes transformadas ou derivadas desse valor sejam ocultadas. Habilite o log de depuração somente quando precisar solucionar um erro de implantação. Quando terminar de depurar, remova o histórico de implantação de depuração.
Configurar o log de depuração
Use o Azure PowerShell para habilitar o registro em log de depuração que preenche as propriedades request e response com as informações de implantação para a solução de problemas. O log de depuração não pode ser habilitado usando a CLI do Azure.
O log de depuração só está habilitado para o modelo principal do ARM ou arquivo Bicep. Se você estiver usando modelos do ARM aninhados ou módulos Bicep, consulte Depurar modelo aninhado.
Para uma implantação de grupo de recursos, use New-AzResourceGroupDeployment e defina o parâmetro DeploymentDebugLogLevel como All, ResponseContent ou RequestContent.
Quando o log de depuração está habilitado, é exibido um aviso de que segredos como senhas ou operações listKeys podem ser registrados e exibidos quando você usa comandos como Get-AzResourceGroupDeploymentOperation para obter informações sobre operações de implantação.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
A saída da implantação mostra o nível de log de depuração.
DeploymentDebugLogLevel : RequestContent, ResponseContent
O DeploymentDebugLogLevel parâmetro está disponível para outros escopos de implantação: assinatura, grupo de gerenciamento e locatário.
Obter informações de depuração
Depois que o log de depuração estiver habilitado, você poderá obter mais informações sobre as operações de implantação. Os cmdlets do Azure PowerShell para operações de implantação não exibem as propriedades request e response. Você precisa usar a CLI do Azure para obter as informações dessas propriedades.
Se você não habilitar o log de depuração no comando de implantação, ainda poderá obter informações sobre operações de implantação. Use o Azure PowerShell ou a CLI do Azure para obter o código de status, a mensagem de status e o estado de provisionamento.
Para uma implantação de grupo de recursos, use Get-AzResourceGroupDeploymentOperation para obter operações de implantação.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Você pode especificar uma propriedade, como StatusCode, StatusMessage, ou ProvisioningState para filtrar a saída.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Para obter mais informações, consulte a documentação dos escopos de operação de implantação: assinatura, grupo de gerenciamento e locatário.
Depurar modelo aninhado
O modelo principal do ARM e os modelos aninhados têm seu próprio nome de implantação e histórico de implantação. O arquivo e o módulo Bicep principais também usam um nome de implantação e um histórico de implantação separados.
modelo do ARM
Para registrar as informações de depuração para um modelo do ARM aninhado, use Microsoft.Resources/deployments com a propriedade debugSetting.
O seguinte exemplo mostra um modelo aninhado com o debugSetting para registrar a solicitação e a resposta da implantação.
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "nestedTemplateDebug",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-05-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2"
}
]
},
"debugSetting": {
"detailLevel": "requestContent, responseContent"
}
}
}
],
O modelo do ARM principal e os modelos aninhados possuem seus próprios nomes de implantação e o histórico de implantação. Se você quiser que as propriedades request e response contenham informações de solução de problemas, esteja ciente dos seguintes cenários de implantação:
- As propriedades
requesteresponseconterão valoresnullpara o modelo principal e o modelo aninhado quandoDeploymentDebugLogLevelnão estiver ativado com o comando de implantação. - Quando o comando de implantação habilita
DeploymentDebugLogLevel, as propriedadesrequesteresponsecontêm informações somente para o modelo principal. As propriedades do modelo aninhado contêm valoresnull. - Quando um modelo aninhado usa
debugSettinge o comando de implantação não incluiDeploymentDebugLogLevel, apenas a implantação do modelo aninhado tem valores para as propriedadesrequesteresponse. As propriedades do modelo principal contêm valoresnull. - Para obter os
requesteresponsepara o modelo principal e o modelo aninhado, especifiqueDeploymentDebugLogLevelno comando de implantação e usedebugSettingno modelo aninhado.
Arquivo Bicep
A recomendação para arquivos Bicep é usar módulos em vez de modelos aninhados com Microsoft.Resources/deployments. A mensagem de status, o código de status e o estado de provisionamento incluirão informações para o arquivo Bicep principal e o módulo que você pode usar para solucionar problemas de implantação.
Se você habilitar DeploymentDebugLogLevel a partir do comando de implantação, as propriedades request e response conterão informações apenas para a implantação do arquivo Bicep principal.
Remover o histórico de implantação de depuração
Quando terminar de depurar, você deve remover o histórico de implantação para impedir que qualquer pessoa que tenha acesso veja informações confidenciais que podem ter sido registradas. Para cada nome de implantação usado durante a depuração, execute o comando para remover o histórico de implantação.
Para remover o histórico de implantação de uma implantação de um grupo de recursos, use Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
O comando retorna True quando é bem-sucedido.
Para obter mais informações sobre o histórico de implantação, consulte a documentação dos escopos de implantação: assinatura, grupo de gerenciamento e tenant.