- Einleitung
- Erste Schritte
- Erstellen mit Maestro BPMN
- Grundlegendes zur BPMN-Modellierung von Maestro
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Einen einfachen BPMN-Prozess implementieren
- Einen komplexen BPMN-Prozess implementieren
- Debugging
- Simulieren
- Evaluations (Preview)
- Häufige Implementierungsszenarien
- Erstellen mit Maestro Case
- Einführung in Maestro Case
- Maestro BPMN vs. Maestro Case: Wann wird Case Management verwendet?
- Der Lebenszyklus von Maestro Case: Vom Ereignis-Trigger zum App-Erlebnis
- Erstellen Sie Ihren ersten Fall mit Maestro Case
- Build a Maestro Case with a coding agent (preview)
- 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)
- Configuring and testing the Case Manager Agent (preview)
- Eingabe- und Ausgabevertrag für den Fall Manager
- Wörterbuch für die Komponente „Maestro Case“.
- Erstellen mit Maestro Flow
- Maestro Automate
- Integrationen
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Loop-Knoten zum Iterieren über Sammlungen mit Parallel- und Break-Optionen.
Was es tut
Iteriert über eine Sammlung und führt die Knoten im Schleifenkörper einmal für jedes Element aus.
Einsatzbereich
Verwenden Sie Loop, wenn Sie eine Sammlung von Elementen verarbeiten möchten, 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 stoppt, wenn die Sammlung erschöpft ist.
Um die Schleife zu beenden, bevor die Sammlung erschöpft ist, verwenden Sie „Break on condition“ oder einen Break-Handle, die beide unten beschrieben werden.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Sammlung | Ja | Keine | Array, über das iteriert werden soll. Geben Sie einen Ausdruck ein, der ein Array ergibt, z. B. $vars.listCustomers1.output. |
| Parallel | Nein | Aus | Führt alle Iterationen gleichzeitig statt nacheinander aus. Wenn deaktiviert, wird die Schleife sequenziell ausgeführt und wartet, bis jede Iteration abgeschlossen ist, bevor die nächste gestartet wird. |
| Unterbrechen bei Bedingung | Nein | Keine | Ausdruck, der die Schleife vorzeitig beendet, wenn er nach Abschluss einer Iteration true ergibt. Dies gilt für sequenzielle Schleifen. |
| Unterbrechungs-Ziehpunkt anzeigen | Nein | Aus | Fügt der Schleife einen Break-Handle hinzu, damit Knoten innerhalb des Bodys die Schleife frühzeitig verlassen können. Verbinden Sie die Ausgabe eines Knotens mit dem Break-Handle, um die Iteration innerhalb des Bodys zu beenden. |
Die sequenzielle Iteration bewahrt die Reihenfolge und ist erforderlich, damit „Break on condition“ 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 Loop-Grenze, um sie dem Schleifenkörper hinzuzufügen. Knoten im Schleifenkörper können auf das aktuelle Element und die aktuelle Iteration sowie auf alle Variablen im Scope außerhalb der Schleife zugreifen.
Aktuelles Element und Iteration
Verweisen Sie innerhalb des Schleifenkörpers mit den folgenden Ausdrücken auf den Fortschritt der Schleife:
$vars.<loopName>.currentItemist das Element für die aktuelle Iteration. Greifen Sie mit der Punktnotation auf die Felder zu, z. B.$vars.loop1.currentItem.id.$vars.<loopName>.currentIterationist die aktuelle Iterationsnummer, beginnend mit1.
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 mit dem Knoten nach der Schleife fortgesetzt.
currentItem und currentIteration sind außerhalb des Schleifenkörpers nicht zugänglich.
Beispiele
Beispiel 1 – Eine API für jedes Element aufrufen
Die Schleife iteriert über $vars.listCustomers1.output. Der Schleifenkörper enthält einen HTTP Request-Knoten mit der URL:
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
Beispiel 2 – Ein Ergebnis-Array über mehrere Iterationen hinweg erstellen
Ein Script-Knoten im Schleifenkörper gibt für jedes Element einen Wert 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 enthält $vars.loop1.output ein Array mit diesen Ergebnissen.
Beispiel 3 – Frühzeitig anhalten, sobald eine Übereinstimmung gefunden wird
Ein Decision-Knoten im Schleifenkörper überprüft das aktuelle Element. Wenn „Break-Handle anzeigen“ aktiviert ist, wird die entsprechende Verzweigung des Decision-Knotens mit dem Break-Handle der Schleife verbunden, um die Iteration zu beenden, sobald die Übereinstimmung gefunden wurde.
Häufige Probleme
Der Schleifenkörper wird nie ausgeführt. Die Sammlung ist leer oder undefined. Überprüfen Sie die Ausgabe des vorgelagerten Knotens in der Ausführungsablaufverfolgung, um sicherzustellen, dass das Array Elemente enthält. Eine leere Sammlung überspringt den Schleifenkörper und setzt die Ausführung nach der Schleife fort.
„Break on condition“ wird in einer parallelen Schleife nie ausgelöst. „Break on condition“ wird nach Abschluss jeder Iteration der Reihe nach ausgewertet und gilt daher für sequenzielle Schleifen. Deaktivieren Sie „Parallel“, wenn Sie eine Abbruchbedingung während der Ausführung benötigen.
Das Bearbeiten der Sammlung im Schleifenkörper ändert nicht, worüber iteriert wird. Die Sammlung wird beim Start der Schleife erfasst. Das Ändern der Array-Variable im Schleifenkörper ändert nicht, über welche Elemente iteriert wird. Dies ist beabsichtigt.
Zugehörige Seiten
- Was es tut
- Einsatzbereich
- Konfigurationsreferenz
- Der Schleifenkörper
- Aktuelles Element und Iteration
- Ausgabe
- Beispiele
- Beispiel 1 – Eine API für jedes Element aufrufen
- Beispiel 2 – Ein Ergebnis-Array über mehrere Iterationen hinweg erstellen
- Beispiel 3 – Frühzeitig anhalten, sobald eine Übereinstimmung gefunden wird
- Häufige Probleme
- Zugehörige Seiten