Fouten oplossen voor taakgrootte overschreden

In dit artikel wordt beschreven hoe u de JobSizeExceededException en DeploymentJobSizeExceededException fouten kunt oplossen. De taakgrootte overschrijdt fouten kunnen optreden wanneer u een Bicep-bestand of Azure Resource Manager-sjabloon (ARM-sjabloon) implementeert.

Symptoom

Wanneer u een sjabloon implementeert, krijgt u een foutmelding waarin wordt aangegeven dat de implementatie de limieten heeft overschreden.

Oorzaak

U krijgt deze fout wanneer de implementatie een toegestane limiet overschrijdt. Normaal gesproken ziet u deze fout wanneer uw sjabloon of de taak waarop de implementatie wordt uitgevoerd te groot is.

De implementatietaak mag niet groter zijn dan 1 MB en bevat metagegevens over de aanvraag. Voor grote sjablonen kunnen de metagegevens in combinatie met de sjabloon de toegestane grootte van een taak overschrijden.

De sjabloon mag niet groter zijn dan 4 MB. De limiet van 4 MB is van toepassing op de uiteindelijke status van de sjabloon nadat deze is uitgebreid voor resourcedefinities die gebruikmaken van lussen om veel exemplaren te maken. De uiteindelijke status bevat ook de opgeloste waarden voor variabelen en parameters.

Andere sjabloonlimieten zijn:

  • 256 parameters
  • 256 variabelen
  • 800 resources (inclusief aantal kopie├źn)
  • 64 uitvoerwaarden
  • 24.576 tekens in een sjabloonexpressie

Oplossing 1: Afhankelijkheden zorgvuldig gebruiken

Gebruik een impliciete afhankelijkheid die wordt gemaakt wanneer een resource verwijst naar een andere resource met de symbolische naam. Voor de meeste implementaties is het niet nodig om een expliciete afhankelijkheid te gebruiken dependsOn en te maken.

Oplossing 2: Sjabloon vereenvoudigen

Wanneer uw bestand veel verschillende resourcetypen implementeert, kunt u overwegen het op te delen in modules. Verdeel uw resourcetypen in logische groepen en voeg een module toe voor elke groep. Als u bijvoorbeeld veel netwerkresources wilt implementeren, kunt u deze resources naar een module verplaatsen.

U kunt andere resources instellen als impliciete afhankelijkheden en waarden ophalen uit de uitvoer van modules.

Oplossing 3: Naamgrootte verkleinen

Probeer de lengte te verkorten van de namen die u gebruikt voor parameters, variabelen en uitvoer. Wanneer deze waarden in lussen worden herhaald, wordt een lange naam vaak vermenigvuldigd.