Pembatalan kesalahan pada penyebaran yang berhasil
Saat penyebaran gagal, Anda dapat secara otomatis melakukan penerapan ulang penyebaran sebelumnya yang berhasil dari riwayat penyebaran Anda. Fungsi ini berguna jika Anda memiliki kondisi yang baik untuk penyebaran infrastruktur Anda dan ingin kembali ke kondisi ini. Anda dapat menentukan penyebaran tertentu sebelumnya atau penyebaran terakhir yang berhasil.
Penting
Fitur ini mengembalikan penyebaran yang gagal dengan melakukan menerapkan ulang penyebaran sebelumnya. Hasil ini mungkin berbeda dari apa yang Anda harapkan dari pengurungan penyebaran yang gagal. Pastikan Anda memahami bagaimana penyebaran sebelumnya diterapkan ulang.
Pertimbangan untuk penerapan ulang
Sebelum menggunakan fitur ini, pertimbangkan detail berikut tentang bagaimana penerapan ulang ditangani:
- Penyebaran sebelumnya dijalankan menggunakan mode lengkap,bahkan jika Anda menggunakan mode inkremental selama penyebaran sebelumnya. Penyebaran ulang dalam mode lengkap dapat menghasilkan hasil yang tidak terduga ketika penyebaran sebelumnya digunakan secara bertahap. Mode lengkap berarti bahwa sumber daya apa pun yang tidak disertakan dalam penyebaran sebelumnya akan dihapus. Tentukan penyebaran sebelumnya yang mewakili semua sumber daya dan kondisi yang Anda inginkan ada di grup sumber daya. Untuk informasi selengkapnya, lihat mode penyebaran.
- Penyebaran ulang dijalankan persis seperti yang dijalankan sebelumnya dengan parameter yang sama. Anda tidak dapat mengubah parameter.
- Penyebaran ulang hanya memengaruhi sumber daya, perubahan data apa pun tidak terpengaruh.
- Anda hanya dapat menggunakan fitur ini dengan penyebaran grup sumber daya. Ini tidak mendukung penerapan tingkat langganan, grup manajemen, atau penyewa. Untuk informasi selengkapnya tentang penyebaran tingkat langganan, lihat Membuat grup sumber daya dan sumber daya di tingkat langganan.
- Anda hanya dapat menggunakan opsi ini dengan penyebaran tingkat akar. Penyebaran dari templat berlapis tidak tersedia untuk penyebaran ulang.
Untuk menggunakan opsi ini, penyebaran Anda harus memiliki nama unik dalam riwayat penyebaran. Hanya dengan nama unik bahwa penyebaran tertentu dapat diidentifikasi. Jika Anda tidak memiliki nama unik, penyebaran yang gagal mungkin akan menimpa penyebaran yang berhasil dalam riwayat.
Jika Anda menentukan penyebaran sebelumnya yang tidak ada dalam riwayat penyebaran, pembatalan akan mengembalikan kesalahan.
PowerShell
Untuk menerapkan ulang penyebaran terakhir yang berhasil, tambahkan parameter -RollbackToLastDeployment
sebagai bendera.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollbackToLastDeployment
Untuk menerapkan ulang penyebaran tertentu, gunakan -RollBackDeploymentName
parameter dan berikan nama penyebaran. Penyebaran yang ditentukan harus berhasil.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollBackDeploymentName ExampleDeployment01
Azure CLI
Untuk menerapkan ulang penyebaran terakhir yang berhasil, tambahkan parameter --rollback-on-error
sebagai bendera.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error
Untuk menerapkan ulang penyebaran tertentu, gunakan --rollback-on-error
parameter dan berikan nama penyebaran. Penyebaran yang ditentukan harus berhasil.
az deployment group create \
--name ExampleDeployment02 \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error ExampleDeployment01
REST API
Untuk menerapkan ulang penyebaran terakhir yang berhasil jika penyebaran saat ini gagal, gunakan:
{
"properties": {
"templateLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
"contentVersion": "1.0.0.0"
},
"mode": "Incremental",
"parametersLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
"contentVersion": "1.0.0.0"
},
"onErrorDeployment": {
"type": "LastSuccessful",
}
}
}
Untuk menerapkan ulang penyebaran tertentu jika penyebaran saat ini gagal, gunakan:
{
"properties": {
"templateLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
"contentVersion": "1.0.0.0"
},
"mode": "Incremental",
"parametersLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
"contentVersion": "1.0.0.0"
},
"onErrorDeployment": {
"type": "SpecificDeployment",
"deploymentName": "<deploymentname>"
}
}
}
Penyebaran yang ditentukan harus berhasil.
Langkah berikutnya
- Untuk memahami mode lengkap dan inkremental, lihat mode penyebaran Azure Resource Manager.
- Untuk memahami cara menentukan parameter dalam templat Anda, lihat Memahami struktur dan sintaksis templat Azure Resource Manager.