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 log de depuração pode expor segredos como senhas ou listKeys operações. Habilite o log de depuração somente quando precisar solucionar um erro de implantação. Quando terminar de depurar, você deverá remover o histórico de implantação de depuração.
Configurar o log de depuração
Use o Azure PowerShell para habilitar o log de depuração que preenche as request propriedades e response com informações de implantação para 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 DeploymentDebugLogLevel parâmetro como All, ResponseContent, ou RequestContent.
Quando o log de depuração está habilitado, é exibido um aviso de que segredos como senhas ou listKeys operações 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 geram as request propriedades and 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 do comando de implantação, ainda poderá obter informações de 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 de ARM
Para registrar informações de depuração para um modelo do ARM aninhado , use Microsoft.Resources/deployments com a debugSetting propriedade.
O exemplo a seguir 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 principal do ARM e os modelos aninhados têm seu próprio nome de implantação e histórico de implantação. Se você quiser que as request propriedades and response contenham informações de solução de problemas, esteja ciente dos seguintes cenários de implantação:
- As
requestpropriedades andresponsecontêmnullvalores para o modelo principal e o modelo aninhado quandoDeploymentDebugLogLevelnão estão habilitados com o comando de implantação. - Quando o comando de implantação habilita
DeploymentDebugLogLevelasrequestpropriedades eresponsecontêm informações somente para o modelo principal. As propriedades do modelo aninhado contêmnullvalores. - Quando um modelo aninhado usa o
debugSettingcomando e a implantação não incluiDeploymentDebugLogLevelapenas o modelo aninhado, a implantação tem valores para asrequestpropriedades eresponse. As propriedades do modelo principal contêmnullvalores. - Para obter o
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 request propriedades e response conterão informações apenas para a implantação do arquivo Bicep principal.
Remover 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 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 locatário.