Mengatasi kesalahan untuk ukuran pekerjaan terlampaui

Artikel ini menjelaskan cara mengatasi kesalahan JobSizeExceededException dan DeploymentJobSizeExceededException. Kesalahan ukuran pekerjaan yang melebihi batas dapat terjadi ketika Anda menyebarkan file Bicep atau templat Azure Resource Manager (templat ARM).

Gejala

Saat menyebarkan templat, Anda menerima kesalahan yang menyatakan penyebaran telah melebihi batas.

Penyebab

Anda mendapatkan kesalahan ini saat penyebaran melebihi batas yang diizinkan. Biasanya, Anda melihat kesalahan ini saat templat atau pekerjaan yang menjalankan penyebaran terlalu besar.

Pekerjaan penyebaran tidak bisa melebihi 1 MB dan yang menyertakan metadata tentang permintaan. Untuk templat besar, metadata yang dikombinasikan dengan templat dapat melebihi ukuran yang diizinkan untuk pekerjaan.

Templat tidak boleh melebihi 4 MB, dan setiap definisi sumber daya tidak boleh melebihi 1 MB. Batas berlaku untuk status akhir templat setelah diperluas untuk definisi sumber daya yang menggunakan perulangan untuk membuat banyak instans. Status akhir juga mencakup nilai yang diselesaikan untuk variabel dan parameter.

Batasan templat lainnya adalah:

  • 256 parameter
  • 256 variabel
  • 800 sumber daya (termasuk jumlah salinan)
  • 64 nilai output
  • 24.576 karakter dalam ekspresi templat

Solusi 1: Gunakan dependensi dengan hati-hati

Gunakan dependensi implisit yang dibuat saat sumber daya merujuk sumber daya lainnya dengan nama simbolisnya. Untuk sebagian besar penerapan, tidak perlu menggunakan dependsOn dan membuat dependensi eksplisit.

Solusi 2: Sederhanakan templat

Saat file Anda menggunakan berbagai jenis sumber daya, pertimbangkan untuk membaginya ke dalam modul. Bagi jenis sumber daya Anda menjadi grup logika dan tambahkan modul untuk setiap grup. Misalnya, jika Anda perlu menyebarkan banyak sumber daya jaringan, Anda dapat memindahkan sumber daya tersebut ke modul.

Anda bisa mengatur sumber daya lain sebagai dependensi implisit, dan mendapatkan nilai dari output modul.

Solusi 3: Kurangi ukuran nama

Cobalah untuk memperpendek panjang nama yang Anda gunakan untuk parameter, variabel, dan output. Saat nilai-nilai ini diulang di perulangan, nama panjang akan dikalikan berkali-kali.