Eliminações automáticas do histórico de implementações

Sempre que implementar um modelo, as informações sobre a implementação são escritas no histórico de implementações. Cada grupo de recursos está limitado a 800 implementações no histórico de implementações.

O Azure Resource Manager elimina automaticamente as implementações do seu histórico à medida que se aproxima do limite. A eliminação automática é uma alteração do comportamento anterior. Anteriormente, tinha de eliminar manualmente as implementações do histórico de implementações para evitar obter um erro. Esta alteração foi implementada a 6 de agosto de 2020.

As eliminações automáticas são suportadas para implementações de grupos de recursos e subscrições. Atualmente, as implementações no histórico para implementações de grupos de gestão e inquilinos não são eliminadas automaticamente.

Nota

Eliminar uma implementação do histórico não afeta nenhum dos recursos que foram implementados.

Quando as implementações são eliminadas

As implementações são eliminadas do seu histórico quando exceder 700 implementações. O Azure Resource Manager elimina implementações até que o histórico seja reduzido para 600. As implementações mais antigas são sempre eliminadas primeiro.

Diagrama da eliminação do histórico de implementações.

Importante

Se o grupo de recursos já estiver no limite 800, a implementação seguinte falhará com um erro. O processo de eliminação automática é iniciado imediatamente. Pode tentar a implementação novamente após uma breve espera.

Além das implementações, também aciona eliminações quando executa a operação what-if ou valida uma implementação.

Quando dá a uma implementação o mesmo nome que uma na história, repõe o respetivo lugar no histórico. A implementação muda para o local mais recente do histórico. Também repõe o local de uma implementação quando reverter para essa implementação após um erro.

Remover bloqueios que bloqueiam eliminações

Se tiver um bloqueio CanNotDelete num grupo de recursos, as implementações desse grupo de recursos não podem ser eliminadas. Tem de remover o bloqueio para tirar partido das eliminações automáticas no histórico de implementações.

Para utilizar o PowerShell para eliminar um bloqueio, execute os seguintes comandos:

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

Para utilizar a CLI do Azure para eliminar um bloqueio, execute os seguintes comandos:

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

Permissões obrigatórias

As eliminações são pedidas na identidade do utilizador que implementou o modelo. Para eliminar implementações, o utilizador tem de ter acesso à ação Microsoft.Resources/deployments/delete . Se o utilizador não tiver as permissões necessárias, as implementações não serão eliminadas do histórico.

Se o utilizador atual não tiver as permissões necessárias, a eliminação automática será novamente tentada durante a implementação seguinte.

Optar ativamente por não participar nas eliminações automáticas

Pode optar ativamente por não participar nas eliminações automáticas do histórico. Utilize esta opção apenas quando quiser gerir o histórico de implementações manualmente. O limite de 800 implementações no histórico ainda é imposto. Se exceder as 800 implementações, receberá um erro e a implementação falhará.

Para desativar as eliminações automáticas, registe o sinalizador de Microsoft.Resources/DisableDeploymentGrooming funcionalidade. Quando regista o sinalizador de funcionalidade, opta ativamente por não participar nas eliminações automáticas de toda a subscrição do Azure. Não pode optar ativamente por não participar apenas num determinado grupo de recursos. Para reativar as eliminações automáticas, anule o registo do sinalizador de funcionalidade.

Para o PowerShell, utilize Register-AzProviderFeature.

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para ver o estado atual da sua subscrição, utilize:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para reativar as eliminações automáticas, utilize a API REST do Azure ou a CLI do Azure.

Passos seguintes