Penghapusan otomatis dari riwayat penyebaran

Setiap kali Anda menyebarkan templat, informasi tentang penyebaran ditulis ke riwayat penyebaran. Setiap grup sumber daya dibatasi hingga 800 penyebaran dalam riwayat penyebarannya.

Azure Resource Manager secara otomatis menghapus penyebaran dari riwayat Anda saat Anda mendekati batas. Penghapusan otomatis adalah perubahan dari perilaku masa lalu. Sebelumnya, Anda harus menghapus penyebaran secara manual dari riwayat penyebaran untuk menghindari kesalahan. Perubahan ini dilaksanakan pada 6 Agustus 2020.

Penghapusan otomatis didukung untuk penyebaran grup sumber daya dan langganan. Saat ini, penyebaran dalam riwayat untuk penyebaran grup manajemen dan penyewa tidak dihapus secara otomatis.

Catatan

Menghapus penyebaran dari riwayat tidak memengaruhi sumber daya yang disebarkan.

Waktu penghapusan penyebaran

Penyebaran dihapus dari riwayat Anda saat melebihi 700 penyebaran. Azure Resource Manager menghapus penyebaran hingga riwayatnya turun menjadi 600. Penyebaran paling lama selalu dihapus terlebih dahulu.

Diagram penghapusan riwayat penyebaran.

Penting

Jika grup sumber daya Anda sudah berada di batas 800, penyebaran Anda berikutnya gagal dengan kesalahan. Proses penghapusan otomatis segera dimulai. Anda dapat mencoba penyebaran lagi setelah menunggu sebentar.

Selain penyebaran, Anda juga memicu penghapusan saat menjalankan operasi bagaimana-jika memvalidasi penyebaran.

Saat Anda memberikan nama yang sama pada penyebaran seperti yang ada dalam riwayat, Anda mereset tempatnya dalam riwayat. Penyebaran bergerak ke tempat terbaru dalam riwayat. Anda juga mereset tempat penyebaran saat kembali ke penyebaran tersebut setelah terjadi kesalahan.

Menghapus kunci yang memblokir penghapusan

Jika Anda memiliki kunci CanNotDelete pada grup sumber daya, penyebaran untuk grup sumber daya tersebut tidak dapat dihapus. Anda harus menghapus kunci untuk memanfaatkan penghapusan otomatis dalam riwayat penyebaran.

Untuk menggunakan PowerShell untuk menghapus kunci, jalankan perintah berikut:

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

Untuk menggunakan Azure CLI untuk menghapus kunci, jalankan perintah berikut:

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

Izin yang diperlukan

Penghapusan diminta berdasarkan identitas pengguna yang menyebarkan templat. Untuk menghapus penyebaran, pengguna harus memiliki akses ke tindakan Microsoft.Resources/deployments/delete. Jika pengguna tidak memiliki izin yang diperlukan, penyebaran tidak dihapus dari riwayat.

Jika pengguna saat ini tidak memiliki izin yang diperlukan, penghapusan otomatis akan dicoba lagi selama penyebaran berikutnya.

Menolak penghapusan otomatis

Anda dapat menolak penghapusan otomatis dari riwayat. Gunakan opsi ini hanya saat Anda ingin mengelola sendiri riwayat penyebaran. Batas 800 penyebaran dalam riwayat masih diberlakukan. Jika Anda melebihi 800 penyebaran, Anda akan menerima kesalahan dan penyebaran Anda akan gagal.

Untuk menonaktifkan penghapusan otomatis, daftarkan bendera fitur Microsoft.Resources/DisableDeploymentGrooming. Saat Anda mendaftarkan bendera fitur, Anda menolak penghapusan otomatis untuk seluruh langganan Azure. Anda tidak dapat menolak hanya untuk grup sumber daya tertentu. Untuk mengaktifkan kembali penghapusan otomatis, batalkan pendaftaran bendera fitur.

Untuk PowerShell, gunakan Register-AzProviderFeature.

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Untuk melihat status langganan Anda saat ini, gunakan:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Untuk mengaktifkan kembali penghapusan otomatis, gunakan Azure REST API atau Azure CLI.

Langkah berikutnya