Řešení chyb při překročení velikosti úlohy

Tento článek popisuje, jak vyřešit JobSizeExceededException chyby a DeploymentJobSizeExceededException . K chybám překročení velikosti úlohy může dojít při nasazení souboru Bicep nebo šablony Azure Resource Manager (šablony ARM).

Příznak

Při nasazování šablony se zobrazí chyba s oznámením, že nasazení překročilo limity.

Příčina

Tato chyba se zobrazí, když nasazení překročí povolený limit. Tato chyba se obvykle zobrazí, když je šablona nebo úloha, která spouští nasazení, příliš velká.

Úloha nasazení nesmí překročit 1 MB, což zahrnuje metadata o požadavku. U velkých šablon můžou metadata v kombinaci se šablonou překročit povolenou velikost úlohy.

Šablona nesmí překročit 4 MB a každá definice prostředku nesmí překročit 1 MB. Omezení platí pro konečný stav šablony po jejím rozšíření pro definice prostředků, které používají smyčky k vytvoření mnoha instancí. Konečný stav zahrnuje také přeložené hodnoty proměnných a parametrů.

Další omezení šablon jsou:

  • 256 parametrů
  • 256 proměnných
  • 800 prostředků (včetně kopií)
  • 64 výstupních hodnot
  • 24 576 znaků ve výrazu šablony

Řešení 1: Pečlivě používejte závislosti

Použijte implicitní závislost , která se vytvoří, když prostředek odkazuje na jiný prostředek svým symbolickým názvem. U většiny nasazení není nutné používat dependsOn a vytvářet explicitní závislost.

Řešení 2: Zjednodušení šablony

Když soubor nasazuje velké množství různých typů prostředků, zvažte jeho rozdělení do modulů. Rozdělte typy prostředků do logických skupin a pro každou skupinu přidejte modul. Pokud například potřebujete nasadit velké množství síťových prostředků, můžete tyto prostředky přesunout do modulu.

Další prostředky můžete nastavit jako implicitní závislosti a získat hodnoty z výstupu modulů.

Řešení 3: Zmenšení velikosti názvu

Zkuste zkrátit délku názvů, které používáte pro parametry, proměnné a výstupy. Pokud se tyto hodnoty opakují ve smyčce, dlouhý název se mnohokrát vynásobí.