Beheben von Fehlern des Typs „Auftragsgröße überschritten“
Artikel
In diesem Artikel wird beschrieben, wie Sie die Fehler JobSizeExceededException und DeploymentJobSizeExceededException beheben. Die Fehler vom Typ „Auftragsgröße überschritten“ können auftreten, wenn Sie eine Bicep-Datei oder eine Azure Resource Manager-Vorlage (ARM-Vorlage) bereitstellen.
Symptom
Bei der Bereitstellung einer Vorlage erhalten Sie eine Fehlermeldung, die besagt, dass die Bereitstellung Grenzwerte überschritten hat.
Ursache
Dieser Fehler tritt auf, wenn die Bereitstellung die zulässigen Grenzwerte überschreitet. Er tritt in der Regel auf, wenn die Vorlage oder der Auftrag zur Bereitstellung zu groß ist. Beachten Sie, dass Vorlagen vor der Überprüfung ihrer Größe für die Bereitstellung komprimiert werden, sodass die effektiven Grenzwerte größer sein können als die tatsächliche Größe der Vorlage.
Der Grenzwert für die Bereitstellung von Aufträgen beträgt 1 MB nach der Komprimierung, einschließlich der Metadaten zur Anforderung. Bei großen Vorlagen kann die kombinierte Größe von Metadaten und Vorlage diesen Grenzwert überschreiten.
Die komprimierte Vorlagengröße selbst darf 4 MB nicht überschreiten, und jede einzelne Ressourcendefinition darf nach der Komprimierung 1 MB nicht überschreiten. Diese Grenzwerte gelten für den endgültigen Zustand der Vorlage nach der Erweiterung für alle Ressourcendefinitionen, die Schleifen verwenden, um mehrere Instanzen zu erstellen, einschließlich der aufgelösten Werte für alle Variablen und Parameter.
Versuchen Sie, die Länge der Namen zu kürzen, die Sie für Parameter, Variablen und Ausgaben verwenden. Wenn diese Werte in Schleifen wiederholt werden, wird ein langer Name viele Male multipliziert.
Versuchen Sie, die Länge der Namen zu kürzen, die Sie für Parameter, Variablen und Ausgaben verwenden. Wenn diese Werte durch Kopierschleifen wiederholt werden, wird ein langer Name mehrmals vervielfacht.
Wenn Ihre Datei viele verschiedene Ressourcentypen bereitgestellt hat, sollten Sie sie in Module unterteilen. Unterteilen Sie Ihre Ressourcentypen in logische Gruppen, und fügen Sie ein Modul für jede Gruppe hinzu. Wenn Sie beispielsweise viele Netzwerkressourcen bereitstellen müssen, können Sie diese Ressourcen in ein Modul verschieben.
Verwenden Sie Vorlagenspezifikationen statt Bicep-Module. Bicep-Module werden in eine einzelne ARM-Vorlage mit geschachtelten Vorlagen konvertiert.
Wenn Ihre Vorlage viele verschiedene Ressourcentypen bereitgestellt hat, können Sie sie in verknüpfte Vorlagen unterteilen. Unterteilen Sie Ihre Ressourcentypen in logische Gruppen, und fügen Sie eine verknüpfte Vorlage für jede Gruppe hinzu. Wenn Sie z. B. viele Netzwerkressourcen bereitstellen müssen, können Sie diese Ressourcen in eine verknüpfte Vorlage verschieben.
Verwenden Sie eine implizite Abhängigkeit, die erstellt wird, wenn eine Ressource mit ihrem symbolischen Namen auf eine andere Ressource verweist. Bei den meisten Bereitstellungen ist es nicht erforderlich, dependsOn zu verwenden und eine explizite Abhängigkeit zu erstellen.
Verwenden Sie bei der Bereitstellung von Ressourcen mithilfe von Kopierschleifen nicht den Schleifennamen als Abhängigkeit:
JSON
dependsOn: [ "nicLoop" ]
Verwenden Sie stattdessen die Instanz der Ressource aus der Schleife, zu der die Abhängigkeit besteht. Zum Beispiel:
Komplexe Abhängigkeiten können die Datenlimits schnell verbrauchen. Wenn beispielsweise eine Schleife von n Ressourcen von einer anderen Schleife von n Ressourcen abhängt, führt dies zur Speicherung von O(n²) Daten. Wenn dagegen jede Ressource in einem Loop nur von ihrem Gegenstück im anderen Loop abhängt, ergeben sich O(n) Daten. Dieser Unterschied mag gering erscheinen, aber die Speicherbelastung steigt sehr schnell an.
Lösung 4: Reduzieren unkomprimierbarer Daten
Wenn Sie große Mengen nicht komprimierbarer Daten, wie Zertifikate oder Binärdateien, oder Daten mit einem niedrigen Komprimierungsverhältnis in eine Vorlage oder Parameter einfügen, wird die Größenbeschränkung schnell erreicht.
Hier erfahren Sie, wie Sie Ihren Azure Resource Manager-Vorlagen (ARM-Vorlagen) und Bicep-Dateien mithilfe von Bereitstellungsskripts benutzerdefinierte Schritte hinzufügen.
Als Microsoft Azure-Lösungsarchitekt*in beraten Sie Projektbeteiligte und übersetzen Geschäftsanforderungen in Entwürfe für Azure-Lösungen, die dem Azure Well-Architected Framework und dem Cloud Adoption Framework für Azure entsprechen.
Beschreibt, wie verknüpfte Vorlagen in einer Azure Resource Manager-Vorlage (ARM-Vorlage) zum Erstellen einer modularen Vorlagenlösung verwendet werden. Zeigt, wie Parameterwerte übergeben, eine Parameterdatei festgelegt und URLs dynamisch erstellt werden.
Syntax und Eigenschaften von Azure Microsoft.Storage/storageAccounts, die in Azure Resource Manager-Vorlagen für die Bereitstellung der Ressource verwendet werden sollen. Neueste API-Version