You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/troubleshooting/error-job-size-exceeded.md
+23-33Lines changed: 23 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Job size exceeded error
3
3
description: Describes how to troubleshoot errors for job size exceeded or if the template is too large for deployments using a Bicep file or Azure Resource Manager template (ARM template).
Use an [implicit dependency](../bicep/resource-dependencies.md#implicit-dependency) that's created when a resource references another resource by its symbolic name. For most deployments, it's not necessary to use `dependsOn` and create an [explicit dependency](../bicep/resource-dependencies.md#explicit-dependency).
37
+
Try to shorten the length of the names you use for [parameters](../bicep/parameters.md), [variables](../bicep/variables.md), and [outputs](../bicep/outputs.md). When these values are repeated in loops, a long name gets multiplied many times.
38
38
39
39
# [JSON](#tab/json)
40
40
41
-
When using [copy](../templates/copy-resources.md) loops to deploy resources, don't use the loop name as a dependency:
42
-
43
-
```json
44
-
dependsOn: [ "nicLoop" ]
45
-
```
46
-
47
-
Instead, use the instance of the resource from the loop that you need to depend on. For example:
Try to shorten the length of the names you use for [parameters](../templates/parameters.md), [variables](../templates/variables.md), and [outputs](../templates/outputs.md). When these values are repeated through copy loops, a long name gets multiplied many times.
54
42
55
43
---
56
44
57
-
Complex dependencies (a loop of n resources depending on a loop of n resources leads to us storing O(n * n) data rather each resource in a loop depending on its counterpart in the previous loop (O(n)). This one is surprising, but it adds up extremely fast.
58
-
59
-
Complex dependencies can quickly consume the data limits. For example, if a loop of *n* resources depends on another loop of *n* resources, it results in storing *O(n²)* data. By contrast, if each resource in one loop only depends on its counterpart in the other loop, it results in *O(n)* data. This difference may seem subtle, but the storage impact grows very quickly.
60
-
61
45
## Solution 2: Simplify template
62
46
63
47
# [Bicep](#tab/bicep)
@@ -66,38 +50,44 @@ When your file deploys lots of different resource types, consider dividing it in
66
50
67
51
You can set other resources as implicit dependencies, and [get values from the output of modules](../bicep/outputs.md#outputs-from-modules).
68
52
53
+
Use [template specs](../bicep/template-specs.md) rather than [Bicep modules](../bicep/modules.md). Bicep modules are converted into a single ARM template with nested templates.
54
+
69
55
# [JSON](#tab/json)
70
56
71
57
When your template deploys lots of different resource types, consider dividing it into [linked templates](../templates/linked-templates.md). Divide your resource types into logical groups and add a linked template for each group. For example, if you need to deploy lots of networking resources, you can move those resources to a linked template.
72
58
73
59
You can set other resources as dependent on the linked template, and [get values from the output of the linked template](../templates/linked-templates.md#get-values-from-linked-template).
74
60
61
+
Use [template specs](../templates/linked-templates.md#template-specs) rather than [nested templates](../templates/linked-templates.md#nested-template).
62
+
75
63
---
76
64
77
-
## Solution 3: Reduce name size
65
+
## Solution 3: Use dependencies carefully
78
66
79
67
# [Bicep](#tab/bicep)
80
68
81
-
Try to shorten the length of the names you use for [parameters](../bicep/parameters.md), [variables](../bicep/variables.md), and [outputs](../bicep/outputs.md). When these values are repeated in loops, a long name gets multiplied many times.
69
+
Use an [implicit dependency](../bicep/resource-dependencies.md#implicit-dependency) that's created when a resource references another resource by its symbolic name. For most deployments, it's not necessary to use `dependsOn` and create an [explicit dependency](../bicep/resource-dependencies.md#explicit-dependency).
82
70
83
71
# [JSON](#tab/json)
84
72
85
-
Try to shorten the length of the names you use for [parameters](../templates/parameters.md), [variables](../templates/variables.md), and [outputs](../templates/outputs.md). When these values are repeated through copy loops, a long name gets multiplied many times.
86
-
87
-
---
88
-
89
-
## Solution 4: Use template specs
90
-
91
-
# [Bicep](#tab/bicep)
73
+
When using [copy](../templates/copy-resources.md) loops to deploy resources, don't use the loop name as a dependency:
92
74
93
-
Use [template specs](../bicep/template-specs.md) rather than [Bicep modules](../bicep/modules.md). Bicep modules are converted into a single ARM template with nested templates.
75
+
```json
76
+
dependsOn: [ "nicLoop" ]
77
+
```
94
78
95
-
# [JSON](#tab/json)
79
+
Instead, use the instance of the resource from the loop that you need to depend on. For example:
96
80
97
-
Use [template specs](../templates/linked-templates.md#template-specs) rather than [nested templates](../templates/templates/linked-templates.md#nested-template).
Complex dependencies can quickly consume the data limits. For example, if a loop of *n* resources depends on another loop of *n* resources, it results in storing *O(n²)* data. By contrast, if each resource in one loop only depends on its counterpart in the other loop, it results in *O(n)* data. This difference may seem subtle, but the storage impact grows very quickly.
90
+
91
+
## Solution 4: Reduce incompressible data
102
92
103
93
Including large amounts of incompressible data, such as certificates or binaries, or data with a low compression ratio in a template or parameters will quickly consume the size limit.
0 commit comments