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.