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