Eliminaciones automáticas del historial de implementaciones

Cada vez que se implementa una plantilla, la información sobre la implementación se escribe en el historial de implementaciones. Cada grupo de recursos está limitado a 800 implementaciones en su historial de implementaciones.

Azure Resource Manager elimina automáticamente las implementaciones del historial a medida que se acerca al límite. La eliminación automática es un cambio respecto al comportamiento anterior. Anteriormente, tenía que eliminar manualmente las implementaciones del historial de implementaciones para evitar un error. Este cambio se implementó el 6 de agosto de 2020.

Las eliminaciones automáticas son compatibles con las implementaciones de grupos de recursos y suscripciones. Actualmente, las implementaciones del historial de implementaciones de grupos de administración e inquilinos no se eliminan automáticamente.

Nota:

La eliminación de una implementación del historial no afecta a ninguno de los recursos implementados.

Cuando las implementaciones se eliminan

Las implementaciones se eliminan del historial cuando se alcanzan 700 o más. Azure Resource Manager elimina las implementaciones hasta que el historial baja hasta 600. Las implementaciones más antiguas siempre se eliminan primero.

Diagrama de eliminación del historial de implementación.

Importante

Si el grupo de recursos ya está en el límite de 800, se producirá un error en la siguiente implementación. El proceso de eliminación automática se inicia inmediatamente. Puede volver a probar la implementación después de una breve espera.

Además de las implementaciones, también se desencadenan eliminaciones al ejecutar la operación what-if o validar una implementación.

Cuando asigna a una implementación el mismo nombre que el de una existente en el historial, se restablece su lugar en el historial. La implementación se mueve a la posición más reciente en el historial. El lugar de una implementación también se restablece cuando se revierte a esa implementación después de un error.

Quitar los bloqueos que bloquean las eliminaciones

Si tiene un bloqueo CanNotDelete en un grupo de recursos, no se podrán eliminar las implementaciones para ese grupo de recursos. Debe quitar el bloqueo para aprovechar las eliminaciones automáticas en el historial de implementaciones.

Para usar PowerShell para eliminar un bloqueo, ejecute los siguientes comandos:

$lockId = (Get-AzResourceLock -ResourceGroupName lockedRG).LockId
Remove-AzResourceLock -LockId $lockId

Para usar la CLI de Azure para eliminar un bloqueo, ejecute los siguientes comandos:

lockid=$(az lock show --resource-group lockedRG --name deleteLock --output tsv --query id)
az lock delete --ids $lockid

Permisos necesarios

Las eliminaciones se solicitan bajo la identidad del usuario que ha implementado la plantilla. Para eliminar las implementaciones, el usuario debe tener acceso a la acción Microsoft.Resources/deployments/delete. Si el usuario no tiene los permisos necesarios, las implementaciones no se eliminan del historial.

Si el usuario actual no tiene los permisos necesarios, se volverá a intentar la eliminación automática durante la siguiente implementación.

Rechazo de eliminaciones automáticas

Puede rechazar las eliminaciones automáticas del historial. Use esta opción solamente si desea administrar el historial de implementaciones usted mismo. Se sigue aplicando el límite de 800 implementaciones en el historial. Si supera las 800 implementaciones, recibirá un error y la implementación no se realizará.

Para deshabilitar las eliminaciones automáticas, registre la marca de característica Microsoft.Resources/DisableDeploymentGrooming. Cuando registra la marca de característica, se rechazan las eliminaciones automáticas de toda la suscripción de Azure. No puede rechazar solamente un grupo de recursos concreto. Para volver a habilitar las eliminaciones automáticas, cancele el registro de la marca de característica.

Para PowerShell, use Register-AzProviderFeature.

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para ver el estado actual de la suscripción, use:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para volver a habilitar las eliminaciones automáticas, use la API de REST de Azure o la CLI de Azure.

Pasos siguientes