Om een opdracht of opdrachtgroep in een keten herhaaldelijk uit te voeren, stelt u een iterator in.
Opmerking: Als u een uitvoer van een relationele database of externe webservice wilt converteren naar een JSON-array voor gebruik met een iterator, gebruikt u de opdracht CSV to JSON van de JSON-connector of een transformatie van JSON-variabele.
Een iterator instellen
Met een iterator kunt u een opdracht of groep herhalen op basis van:
- Een statische of dynamische lijst met waarden
- Een exact aantal waarden
- Gebaseerd op het al dan niet bestaan van een voorwaarde
Een iterator kan een opdracht of groep herhalen:
- Een statische lijst van waarden, zoals regio's of entiteiten
- Een dynamische of variabele lijst met waarden, zoals uit een bestand dat is geüpload als een werkruimtebron of uitvoer van een opdracht eerder in de keten
Opmerking: Een opdracht of groep is beperkt tot 1000 iteraties.
Een iterator over een lijst met waarden laten lopen:
- Selecteer in de keten de opdracht of groep die u herhaaldelijk wilt uitvoeren en klik op Bewerken .
- Schakel op het tabblad Iteraties de optie Iterator in.
- In Selecteer modificatietype, selecteer Lijst.
- Voer de waarden van de iteraties in:
- Voor een statische lijst voert u de waarde voor elke iteratie in en drukt u na elke iteratie op Enter.
- Voor een dynamische lijst selecteert u de uitvoer van de eerdere opdracht met de te gebruiken waarden.
- Voor een statische lijst voert u de waarde voor elke iteratie in en drukt u na elke iteratie op Enter.
Een iterator kan een opdracht of groep herhalen over een exact aantal waarden, zoals een totaal van pagina's uitvoer van een opdracht eerder in de keten.
Stap 1. Stel een variabele in voor de getalswaarde
Maak een dynamische kettingvariabele om het aantal iteraties aan te geven:
- In de keten voegt een dynamische variabele toe voor het aantal iteraties, zoals Teller, zonder beginwaarde.
- Om de beginwaarde van de variabele in te stellen wanneer de ketting wordt uitgevoerd, voegt u na de opdracht die het aantal iteraties uitvoert, een gebeurtenis Dynamische kettingvariabele instellen toe:
- Selecteer de dynamische variabele die is gemaakt voor het aantal iteraties.
- In Waarde, en voer de beginwaarde in, zoals 1.
Stap 2. Een commandogroep toevoegen
Voeg een commandogroep toe om de te itereren commando's en de iteratieregel aan te geven:
- Voeg na de gebeurtenis Dynamische ketenvariabele instellen toe Opdrachtgroep en sleep er een koppeling tussen.
- Selecteer de groep en klik op Bewerken.
- Schakel op het tabblad Iteraties de optie Iterator in.
- In Selecteer modificatietype, selecteer Herhalen tot.
- Klik op + Rule, selecteer een gegevenstype Float en geef aan wanneer iteraties moeten stoppen. Als u bijvoorbeeld wilt itereren op basis van de uitvoer Total records van een eerdere opdracht, stelt u een regel in om iteraties te stoppen wanneer de variabele waarde groter is dan (>) de uitvoer Total records.
- Voeg de opdrachten om te itereren toe aan de groep.
Stap 3. Een gebeurtenis toevoegen om de waarde van de variabele te verhogen
Om de waarde van de variabele bij elke iteratie te verhogen:
- Als laatste stap van de groep voegt u nog een Set dynamic chain variabele gebeurtenis toe:
- Selecteer de dynamische variabele die is gemaakt voor het aantal iteraties.
- In Waarde, selecteert u dezelfde variabele.
- Om de waarde te transformeren, klikt u op de variabele in Waarde, en voegt u een Parse Number transformatie toe.
- Voeg een transformatie toe met een waarde van 1, en klik op accepteren.
Als de waarden of het exacte aantal waarden onbekend zijn, kunt u itereren op basis van het feit of aan specifieke voorwaarden is voldaan. U kunt bijvoorbeeld een opdracht herhalen terwijl of totdat de opgegeven criteria bestaan.
Stap 1. Stel variabelen in voor de voorwaardelijke waarden
Maak dynamische kettingvariabelen om de voorwaarden weer te geven die waarden aangeven waarnaar u moet itereren. Als een opdracht bijvoorbeeld een booleaanse toetsuitvoer geeft om aan te geven of het antwoord extra pagina's bevat en een integer offsetparameter om elke pagina te identificeren, maak dan variabelen voor deze waarden:
- In de keten voegt voor elke voorwaarde een dynamische variabele toe, zonder beginwaarde.
- Om de beginwaarden van de variabelen in te stellen wanneer de ketting wordt uitgevoerd, voegt u na de opdracht die de waarden van de voorwaarden uitvoert, een Set dynamic chain variable event toe, selecteert u de dynamische variabelen en voert u hun beginwaarden in.
Voer bijvoorbeeld de waarde van de booleaanse toets in als True, en de offsetwaarde als 0.
Stap 2. Een commandogroep toevoegen
Voeg een commandogroep toe om de te itereren commando's en de iteratieregel aan te geven:
- Voeg na de gebeurtenis Dynamische ketenvariabele instellen toe Opdrachtgroep en sleep er een koppeling tussen.
- Selecteer de groep en klik op Bewerken.
- Schakel op het tabblad Iteraties de optie Iterator in.
- In Selecteer modificatietype, selecteer Herhalen tot.
- Klik op + Regel, en geef aan wanneer de iteraties moeten stoppen, bijvoorbeeld wanneer de booleaanse sleutel Onwaar is.
- Voeg de opdrachten om te itereren toe aan de groep.
Stap 3. Stel bij elke iteratie variabele waarden in
Als laatste stap van de groep voegt u nog een Set dynamic chain variable event toe om de variabele waarden bij elke iteratie in te stellen of te verhogen.
- Om de waarden van de variabelen in te stellen, wijst u elke variabele toe aan de respectieve uitgangen van de eerdere opdracht. Selecteer bijvoorbeeld voor de variabele Boolean de uitvoer van de boolean-toets; voor de variabele Offset de integer offset-parameter.
- Om een variabele te verhogen, zoals Offset, klikt u op de waarde ervan en past u vervolgens een Parse Number transformatie en een Add transformatie toe met de waarde die bij elke iteratie moet worden verhoogd.
Iterator-uitgangen
U kunt de uitvoer van een iterator gebruiken als eigenschap voor andere opdrachten of gebeurtenissen later in de keten. De uitgangen zijn afhankelijk van de modifier van de iterator-Lijst of Herhaal tot.
| Uitgang | Beschrijving |
|---|---|
| Opdracht iteratie of Groep iteratie | De variabele waarde van de iteratie die in de lus wordt verwerkt |
| Index | De op nul gebaseerde telling om de verwerkte iteratie in de lus aan te geven |
| Eerste iteratie |
Een booleaanse waarde om aan te geven of de verwerkte iteratie de eerste in de lus is |
| Laatste iteratie | Alleen voor een iterator List, een booleaanse waarde om aan te geven of de verwerkte iteratie de laatste in de lus is |
| Totaal aantal iteraties | Alleen voor een iterator van List, een op nul gebaseerde telling van het totale aantal iteraties dat door de lus is verwerkt |
Om een uitvoer als eigenschap voor een andere opdracht of gebeurtenis te gebruiken, selecteert u deze respectievelijk onder Command Iterator of Group Iterator.