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

Tento článek popisuje, jak tyto chyby DeploymentJobSizeExceededException vyřešitJobSizeExceededException. K chybám může dojít při nasazení souboru Bicep nebo šablony Azure Resource Manager (šablona 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í nemůže překročit 1 MB a obsahuje metadata o požadavku. U velkých šablon můžou metadata kombinovaná se šablonou překročit povolenou velikost úlohy.

Šablona nemůže být větší než 4 MB. Limit 4 MB platí pro konečný stav šablony po jeho 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ší limity šablon jsou:

  • 256 parametrů
  • 256 proměnných
  • 800 prostředků (včetně počtu 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 podle jeho symbolického názvu. U většiny nasazení není nutné použít dependsOn a vytvořit explicitní závislost.

Řešení 2 – zjednodušení šablony

Když váš soubor nasadí spoustu různých typů prostředků, zvažte jeho rozdělení na moduly. Rozdělte typy prostředků do logických skupin a přidejte modul pro každou skupinu. 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. Když se tyto hodnoty opakují ve smyčce, dlouhý název se často vynásobí.