Ř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ů.