Eliminazioni automatiche dalla cronologia di distribuzione

Ogni volta che si distribuisce un modello, le informazioni sulla distribuzione vengono scritte nella cronologia di distribuzione. Ogni gruppo di risorse è limitato a 800 distribuzioni nella cronologia di distribuzione.

Azure Resource Manager elimina automaticamente le distribuzioni dalla cronologia quando ci si avvicina al limite. L'eliminazione automatica è una modifica rispetto al comportamento passato. In precedenza, era necessario eliminare manualmente le distribuzioni dalla cronologia di distribuzione per evitare di ricevere un messaggio di errore. Questa modifica è stata implementata il 6 agosto 2020.

Le eliminazioni automatiche sono supportate per le distribuzioni di gruppi di risorse e sottoscrizioni. Attualmente, le distribuzioni nella cronologia per gruppo di gestione e tenant distribuzioni non vengono eliminate automaticamente.

Nota

L'eliminazione di una distribuzione dalla cronologia non influisce sulle risorse distribuite.

Quando vengono eliminate le distribuzioni

L'eliminazione dalla cronologia avviene quando si superano le 700 distribuzioni. Azure Resource Manager elimina le distribuzioni fino a quando la cronologia non è inferiore a 600. Le distribuzioni meno recenti vengono sempre eliminate per prime.

Diagram of deployment history deletion.

Importante

Se il gruppo di risorse ha già raggiunto il limite di 800, la distribuzione successiva ha esito negativo con un errore. Il processo di eliminazione automatica viene avviato immediatamente. È possibile ritentare la distribuzione dopo un breve intervallo di attesa.

Oltre alle distribuzioni, si attivano eliminazioni anche quando si esegue l'operazione di simulazione o si convalida una distribuzione.

Quando si assegna una distribuzione che ha lo stesso nome di una già presente nella cronologia, si reimposta la relativa posizione nella cronologia. La distribuzione passa alla posizione più recente nella cronologia. È anche possibile reimpostare la posizione di una distribuzione quando si esegue il rollback a tale distribuzione dopo un errore.

Rimuovere blocchi che impediscono le eliminazioni

Se si dispone di un blocco CanNotDelete in un gruppo di risorse, le distribuzioni per tale gruppo di risorse non possono essere eliminate. È necessario rimuovere il blocco per sfruttare i vantaggi delle eliminazioni automatiche nella cronologia di distribuzione.

Per usare PowerShell per eliminare un blocco, eseguire i comandi seguenti:

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

Per usare l'interfaccia della riga di comando di Azure per eliminare un blocco, eseguire i comandi seguenti:

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

Autorizzazioni necessarie

Le eliminazioni vengono richieste con l'identità dell'utente che ha distribuito il modello. Per eliminare distribuzioni, l'utente deve avere accesso all'azione Microsoft.Resources/deployments/delete. Se l'utente non dispone delle autorizzazioni necessarie, le distribuzioni non vengono eliminate dalla cronologia.

Se l'utente attuale non dispone delle autorizzazioni necessarie, l'eliminazione automatica viene tentata di nuovo durante la distribuzione successiva.

Rifiutare esplicitamente le eliminazioni automatiche

È possibile rifiutare esplicitamente le eliminazioni automatiche dalla cronologia. Usare questa opzione solo quando si vuole gestire manualmente la cronologia di distribuzione. Il limite di 800 distribuzioni nella cronologia viene ancora applicato. Se si superano 800 distribuzioni, si riceverà un errore e la distribuzione avrà esito negativo.

Per disabilitare le eliminazioni automatiche, registrare il flag di funzionalità Microsoft.Resources/DisableDeploymentGrooming. Quando si registra il flag di funzionalità, si rifiutano esplicitamente le eliminazioni automatiche per l'intera sottoscrizione di Azure. Non è possibile rifiutare esplicitamente le eliminazioni solo per un gruppo di risorse specifico. Per abilitare di nuovo le eliminazioni automatiche, annullare la registrazione del flag di funzionalità.

Per PowerShell, usare Register-AzProviderFeature.

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Per visualizzare lo stato corrente della sottoscrizione, usare:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Per abilitare di nuovo le eliminazioni automatiche, usare l'API REST di Azure o l'interfaccia della riga di comando di Azure.

Passaggi successivi