Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 Azure Resource Manager (modelos ARM). Você pode obter dados sobre o pedido e a resposta de uma implementação para identificar a causa de um problema.
Advertência
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 a depuração, remova o histórico de implementação da depuração.
Configurar o log de depuração
Use o Azure PowerShell para habilitar o registo de depuração que preenche as propriedades request e response com informações de implantação para a resoluçã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 ARM principal ou o arquivo Bicep. Se você estiver usando modelos 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, ResponseContentou RequestContent.
Quando o registo de depuração está ativado, é exibido um aviso de que segredos como senhas ou operações secretas como listKeys podem ser registrados e exibidos quando usar 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 produzem 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 a partir do 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 as operações de implantação.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Você pode especificar uma propriedade, como StatusCode, StatusMessageou ProvisioningState filtrar a saída.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Para obter mais informações, consulte a documentação para escopos de operação de implantação: assinatura, grupo de gerenciamento e locatário.
Depurar modelo aninhado
O modelo ARM principal e os modelos aninhados têm seu próprio nome de implantação e histórico de implantação. O arquivo principal e o módulo Bicep também usam um nome de implementação separado e um histórico de implementação independente.
Modelo ARM
Para registar informações de depuração num modelo ARM aninhado, use Microsoft.Resources/deployments com a propriedade debugSetting.
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 ARM principal e os modelos aninhados têm seu próprio nome de implantação e histórico de implantação. Se desejar que as request propriedades e response contenham informações de solução de problemas, esteja ciente dos seguintes cenários de implantação:
- As propriedades
requesteresponsecontêm valoresnullpara o modelo principal e o modelo aninhado quandoDeploymentDebugLogLevelnão está ativado com o comando de implementação. - Quando o comando de implementação ativa
DeploymentDebugLogLevel, as propriedadesrequesteresponsecontêm informações apenas para o modelo principal. As propriedades do modelo aninhado contêmnullvalores. - Quando um modelo aninhado usa o
debugSettinge o comando de implementação não incluiDeploymentDebugLogLevel, apenas a implementação do modelo aninhado tem valores para as propriedadesrequesteresponse. As propriedades do modelo principal contêm valoresnull. - Para obter o
requesteresponsepara o modelo principal e o modelo aninhado, especifiqueDeploymentDebugLogLevelno comando deployment 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 e módulo Bicep principal que você pode usar para solucionar problemas de implantação.
Se ativares DeploymentDebugLogLevel do comando de implementação, request e response propriedades conterão informações somente para a implantação do ficheiro Bicep principal.
Remover histórico de implantação de depuração
Quando terminar a depuração, remova o histórico de implantação para impedir que qualquer pessoa que tenha acesso veja informações confidenciais que possam 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.
- Remove-AzDeployment
- Remove-AzManagementGroupDeployment
- Remove-AzTenantDeployment