- Einleitung
- Erste Schritte
- Prozessmodellierung mit BPMN
- Grundlagen der Prozessmodellierung
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Prozessmodellierung mit Fallverwaltung
- Entwerfen eines persistenten Fallentitätsschemas
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Verwalten von Live-Fallinstanzen: Anhalten, migrieren und wiederholen
- Maestro-Komponentenwörterbuch für die Fallverwaltung
- Prozessmodellierung mit Flow
- Prozessimplementierung
- Debugging
- Simulieren
- Veröffentlichen und Aktualisieren von agentischen Prozessen
- Häufige Implementierungsszenarien
- Extraktieren und Validieren von Dokumenten
- Prozessabläufe
- Prozessüberwachung
- Prozessoptimierung
- Referenzinformationen
Schleifenknoten für die Iteration über Sammlungen mit Parallel- und Unterbrechungsoptionen.
Was es tut
Durchläuft eine Sammlung und führt die Knoten im Schleifenkörper einmal für jedes Element aus.
Einsatzbereich
Verwenden Sie eine Schleife, wenn Sie eine Sammlung von Elementen zu verarbeiten haben, z. B. eine Liste von Datensätzen, die von einer API zurückgegeben werden, eine Liste von Dateien oder eine Liste von IDs. Die Schleife wird einmal pro Element ausgeführt und wird angehalten, wenn die Sammlung erschöpft ist.
Um die Sammlung zu beenden, bevor sie erschöpft ist, verwenden Sie Unterbrechung bei Bedingung oder ein Unterbrechungshandle, wie unten beschrieben.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Sammlung | Ja | Keine | Array, das durchlaufen werden soll. Geben Sie einen Ausdruck ein, der in ein Array aufgelöst wird, z. B. $vars.listCustomers1.output. |
| Parallel | Nein | Aus | Führt alle Iterationen gleichzeitig aus, anstatt nacheinander. Wenn diese Option deaktiviert ist, wird die Schleife sequenziell ausgeführt und wartet auf das Ende jeder Iteration, bevor die nächste gestartet wird. |
| Unterbrechen bei Bedingung | Nein | Keine | Ausdruck, der die Schleife frühzeitig beendet, wenn er nach Abschluss einer Iteration true wird. Dies gilt für sequenzielle Schleifen. |
| Unterbrechungs-Ziehpunkt anzeigen | Nein | Aus | Fügt der Schleife ein Unterbrechungshandle hinzu, damit Knoten innerhalb des Textkörpers die Schleife frühzeitig beenden können. Verbinden Sie die Ausgabe eines Knotens mit dem Unterbrechungshandle, um die Iteration innerhalb des Textkörpers zu stoppen. |
Eine sequenzielle Iteration bewahrt die Reihenfolge und ist erforderlich, damit Unterbrechung bei Bedingung funktioniert, da die Bedingung nach Abschluss jeder Iteration überprüft wird. Parallele Iterationen werden nicht in einer garantierten Reihenfolge ausgeführt.
Der Schleifenkörper
Ziehen Sie Knoten innerhalb der Schleifenbegrenzung, um sie dem Textkörper hinzuzufügen. Knoten im Textkörper können das aktuelle Element und die Iteration sowie alle Variablen im Scope außerhalb der Schleife lesen.
Aktuelles Element und Iteration
Verweisen Sie im Textkörper auf den Fortschritt der Schleife mit diesen Ausdrücken:
$vars.<loopName>.currentItemist das Element für die aktuelle Iteration. Greifen Sie auf seine Felder mit Punktnotation zu, z. B.$vars.loop1.currentItem.id.$vars.<loopName>.currentIterationist die aktuelle Iterationsnummer, beginnend bei1.
Diese sind nur innerhalb des Schleifenkörpers verfügbar.
Ausgabe
Nach Abschluss aller Iterationen sind die aggregierten Ergebnisse der Schleife unter $vars.<loopName>.output verfügbar. Die Ausführung wird dann auf dem Knoten nach der Schleife fortgesetzt.
currentItem und currentIteration sind außerhalb des Schleifentexts nicht zugänglich.
Beispiele
Beispiel 1 – Rufen Sie eine API für jedes Element auf
Die Schleife iteriert über $vars.listCustomers1.output. Der Schleifenkörper enthält einen HTTP-Anforderungsknoten mit der URL:
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
Beispiel 2 – Erstellen Sie ein Ergebnis-Array über Iterationen hinweg
Ein Skriptknoten im Schleifenkörper gibt einen Wert für jedes Element zurück. Die Schleife sammelt das Ergebnis jeder Iteration in $vars.loop1.output:
return { id: $vars.loop1.currentItem.id, processed: true };
return { id: $vars.loop1.currentItem.id, processed: true };
Nach der Schleife ist $vars.loop1.output ein Array dieser Ergebnisse.
Beispiel 3 – Früh anhalten, sobald eine Übereinstimmung gefunden wurde
Ein Entscheidungsknoten im Schleifenkörper überprüft das aktuelle Element. Wenn Unterbrechungshandle anzeigen aktiviert ist, wird der übereinstimmende Zweig der Entscheidung mit dem Unterbrechungshandle der Schleife verbunden, um die Iteration zu beenden, sobald die Übereinstimmung gefunden wird.
Häufige Probleme
Der Schleifenkörper wird nie ausgeführt. Die Sammlung ist leer oder undefined. Überprüfen Sie die Ausgabe des Upstream-Knotens in der Trace, um zu bestätigen, dass das Array Elemente enthält. Eine leere Sammlung überspringt den Text und setzt nach der Schleife fort.
Eine Unterbrechungsbedingung wird nie in einer Parallelschleife ausgelöst. Eine Unterbrechungsbedingung wird ausgewertet, nachdem jede Iteration der Reihe nach abgeschlossen wurde, also gilt sie für sequenzielle Schleifen. Deaktivieren Sie Parallel, wenn Sie eine laufende Bedingung unterbrechen müssen.
Das Bearbeiten der Sammlung innerhalb des Textkörpers ändert nicht, was iteriert wird. Die Sammlung wird erfasst, wenn die Schleife startet. Das Ändern der Array-Variable innerhalb des Textkörpers ändert nicht, welche Elemente iteriert werden. Dies ist beabsichtigt.
Zugehörige Seiten
- Was es tut
- Einsatzbereich
- Konfigurationsreferenz
- Der Schleifenkörper
- Aktuelles Element und Iteration
- Ausgabe
- Beispiele
- Beispiel 1 – Rufen Sie eine API für jedes Element auf
- Beispiel 2 – Erstellen Sie ein Ergebnis-Array über Iterationen hinweg
- Beispiel 3 – Früh anhalten, sobald eine Übereinstimmung gefunden wurde
- Häufige Probleme
- Zugehörige Seiten