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
request
propriedades andresponse
contêmnull
valores para o modelo principal e o modelo aninhado quandoDeploymentDebugLogLevel
não estão habilitados com o comando de implantação. - Quando o comando de implantação habilita
DeploymentDebugLogLevel
asrequest
propriedades eresponse
contêm informações somente para o modelo principal. As propriedades do modelo aninhado contêmnull
valores. - Quando um modelo aninhado usa o
debugSetting
comando e a implantação não incluiDeploymentDebugLogLevel
apenas o modelo aninhado, a implantação tem valores para asrequest
propriedades eresponse
. As propriedades do modelo principal contêmnull
valores. - Para obter o
request
eresponse
para o modelo principal e o modelo aninhado, especifiqueDeploymentDebugLogLevel
no comando de implantação e usedebugSetting
no 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.