Risolvere gli errori per le dimensioni del processo superate

Questo articolo descrive come risolvere gli JobSizeExceededException errori e DeploymentJobSizeExceededException . Le dimensioni del processo superate possono verificarsi quando si distribuisce un file Bicep o un modello di Azure Resource Manager (modello arm).

Sintomo

Quando si distribuisce un modello, viene visualizzato un errore che indica che la distribuzione ha superato i limiti.

Causa

Questo errore viene visualizzato quando la distribuzione supera un limite consentito. In genere, questo errore viene visualizzato quando il modello o il processo che esegue la distribuzione è troppo grande.

Il processo di distribuzione non può superare 1 MB e include metadati relativi alla richiesta. Per i modelli di grandi dimensioni, i metadati combinati con il modello potrebbero superare le dimensioni consentite di un processo.

Il modello non può superare i 4 MB e ogni definizione di risorsa non può superare 1 MB. I limiti si applicano allo stato finale del modello dopo che è stato espanso per le definizioni di risorse che usano cicli per creare molte istanze. Lo stato finale include anche i valori risolti per le variabili e i parametri.

Altri limiti di modello sono:

  • 256 parametri
  • 256 variabili
  • 800 risorse (incluso il conteggio copie)
  • 64 valori di output
  • 24.576 caratteri in un'espressione di modello

Soluzione 1: Usare attentamente le dipendenze

Usare una dipendenza implicita creata quando una risorsa fa riferimento a un'altra risorsa in base al nome simbolico. Per la maggior parte delle distribuzioni, non è necessario usare dependsOn e creare una dipendenza esplicita.

Soluzione 2: Semplificare il modello

Quando il file distribuisce molti tipi di risorse diversi, è consigliabile suddividerla in moduli. Dividere i tipi di risorse in gruppi logici e aggiungere un modulo per ogni gruppo. Ad esempio, se è necessario distribuire molte risorse di rete, è possibile spostare tali risorse in un modulo.

È possibile impostare altre risorse come dipendenze implicite e ottenere valori dall'output dei moduli.

Soluzione 3: Ridurre le dimensioni del nome

Provare a ridurre la lunghezza dei nomi usati per parametri, variabili e output. Quando questi valori vengono ripetuti nei cicli, un nome lungo viene moltiplicato molte volte.