Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para solucionar un error de implementación, puede habilitar el registro de depuración. Esto le permitirá obtener más información sobre el problema. El proceso de registro de depuración funciona para implementaciones con archivos Bicep o plantillas de Azure Resource Manager (plantillas de ARM). Puede obtener datos sobre la solicitud y la respuesta de una implementación para obtener información sobre la causa de un problema.
Advertencia
El registro de depuración puede exponer secretos como contraseñas u operaciones listKeys
. Solo habilite el registro de depuración cuando necesite solucionar un error de implementación. Cuando haya terminado de depurar, debe eliminar el historial de implementación de depuración.
Configuración del registro de depuración
Utilice Azure PowerShell para habilitar el registro de depuración que rellena las propiedades request
y response
con información de implementación para solucionar problemas. El registro de depuración no se puede habilitar mediante la CLI de Azure.
El registro de depuración solo está habilitado para la plantilla de ARM o archivo de Bicep principales. Si usa plantillas de ARM anidadas o módulos de Bicep, consulte Depuración de plantillas anidadas.
Para implementar un grupo de recursos, use New-AzResourceGroupDeployment y establezca el parámetro DeploymentDebugLogLevel
, All
, ResponseContent
o RequestContent
.
Cuando se habilita el registro de depuración, se muestra una advertencia que indica que los secretos como contraseñas u operaciones listKeys
se pueden registrar o mostrar cuando use comandos como Get-AzResourceGroupDeploymentOperation
para obtener información sobre las operaciones de implementación.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
La salida de la implementación mostrará el nivel de registro de depuración.
DeploymentDebugLogLevel : RequestContent, ResponseContent
El DeploymentDebugLogLevel
parámetro está disponible para otros ámbitos de implementación: suscripción, grupo de administración e inquilino.
Obtención de información de depuración
Una vez que haya habilitado el registro de depuración, podrá obtener más información sobre las operaciones de implementación. Los cmdlets de Azure PowerShell para las operaciones de implementación no generan las propiedades request
y response
. Debe usar la CLI de Azure para obtener la información de esas propiedades.
Aunque no habilite el registro de depuración desde el comando de implementación, podrá obtener información sobre las operaciones de implementación. Use Azure PowerShell o la CLI de Azure para obtener el código de estado, el mensaje de estado y el estado de aprovisionamiento.
Para llevar a cabo una implementación de grupo de recursos, ejecute el comando Get-AzResourceGroupDeploymentOperation. De esta forma, obtendrá las operaciones de implementación.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Puede especificar una propiedad, como StatusCode
, StatusMessage
o ProvisioningState
para filtrar la salida.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Para obtener más información, consulte la documentación sobre ámbitos de operación de implementación: suscripción, grupo de administración e inquilino.
Depurar plantilla anidada
La plantilla principal de ARM y las plantillas anidadas tienen su propio nombre de implementación e historial de implementación. El archivo y el módulo principales de Bicep también utilizan un nombre de implementación y un historial de implementación separados.
Plantilla ARM
Para registrar la información de depuración de una implementación mediante una plantilla de ARM anidada, use Microsoft.Resources/deployments con la propiedad debugSetting
.
En el ejemplo siguiente se muestra una plantilla anidada con debugSetting
para registrar la solicitud y la respuesta de la implementación.
"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"
}
}
}
],
La plantilla principal de ARM y las plantillas anidadas tienen su propio nombre de implementación e historial de implementación. Si desea que las request
propiedades y response
contengan información de solución de problemas, tenga en cuenta los siguientes escenarios de implementación:
- Las propiedades
request
yresponse
contienen valoresnull
para la plantilla principal y la plantilla anidada cuandoDeploymentDebugLogLevel
no está habilitado con el comando de implementación. - Cuando el comando de implementación habilita
DeploymentDebugLogLevel
lasrequest
propiedades yresponse
solo contienen información para la plantilla principal. Las propiedades de la plantilla anidada contienen valoresnull
. - Cuando una plantilla anidada usa
debugSetting
y el comando de implementación no incluyeDeploymentDebugLogLevel
solo la implementación de plantilla anidada tiene valores para lasrequest
propiedades yresponse
. Las propiedades de la plantilla principal incorporan valores denull
. - Para obtener
request
yresponse
para la plantilla principal y la plantilla anidada, especifiquenDeploymentDebugLogLevel
en el comando de implementación y utilicendebugSetting
en la plantilla anidada.
Archivo Bicep
La recomendación para los archivos de Bicep es usar módulos en lugar de plantillas anidadas con Microsoft.Resources/deployments
. El mensaje de estado, el código de estado y el estado de aprovisionamiento incluirán información para el archivo y el módulo principal de Bicep que puede usar para solucionar problemas de la implementación.
Si habilita DeploymentDebugLogLevel
desde el comando de implementación, las propiedades request
y response
solo contendrán información para la implementación del archivo Bicep principal.
Eliminación del historial de implementación de depuración
Cuando ya haya terminado un proceso de depuración, debe quitar el historial de implementación para evitar que cualquier persona que tenga acceso vea la información confidencial que podría haberse registrado durante el proceso. Para cada nombre de implementación que usó durante la depuración, ejecute el comando para quitar el historial de implementación.
Para quitar el historial de implementación de una implementación de grupo de recursos, use Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
El comando devuelve True
cuando se realiza correctamente.
Para obtener más información sobre el historial de implementación, consulte la documentación de los ámbitos de implementación: suscripción, grupo de administración e inquilino.