Starten Sie einen Prozess, wenn eine Datei auf dem SFTP-Server gefunden wird
Geschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contentsGeschrieben für Frends Version 5.5
Diese Anleitung zeigt, wie ein bedingter Auslöser zum Starten eines Prozesses verwendet werden kann. In dieser Anleitung wird in einem SFTP-Ordner nach einer Datei namens readme.txt gesucht und, wenn sie vorhanden ist, zu Frends heruntergeladen. Wenn die Datei nicht gefunden wird, wird der aufrufende Prozess nicht ausgeführt. Wenn die Datei gefunden und heruntergeladen wurde, wird der aufrufende Prozess gestartet und löscht lediglich die heruntergeladene Datei.
Voraussetzungen
Um diese Anleitung durcharbeiten zu können, benötigen Sie die folgenden Voraussetzungen:
Editorzugriff auf Ihren Frends-Mandanten, um auf die Prozess-Editor-Ansicht zuzugreifen.
Zum Ausführen von Prozessen sind eine Agentengruppe und eine Umgebung eingerichtet.
Die Aufgabe „Frends.SFTP.DownloadFiles“ wurde in Ihren Frends-Mandanten importiert.
Quell-SFTP-Server. In dieser Anleitung verwenden wir den kostenlosenhttps://test.rebex.net/Server zum Testen verfügbar.
Zunächst werden Umgebungsvariablen erstellt, um Informationen zum SFTP-Server zu speichern. Ein bedingter Trigger funktioniert, indem er definierte Unterprozesse regelmäßig startet, z. B. einmal pro Minute. Wenn dieser Unterprozess dann etwas anderes zurückgibt alsNull
oder leere Zeichenfolge""
Anschließend wird der Prozess ausgeführt, der den bedingten Auslöser enthält. Mit anderen Worten: Der Start des Prozesses wird durch einen Unterprozess definiert, und daher erstellen wir diesen Unterprozess. Der letzte Schritt besteht darin, den eigentlichen Prozess zu erstellen.
Erstellen von Umgebungsvariablen
Zum Speichern der Anmeldeinformationen und einer Datei werden vier Umgebungsvariablen verwendet, sodass sie später problemlos geändert werden können:
#env.ConditionalTrigger.SftpAdresse
mit Werttest.rebex.net
#env.ConditionalTrigger.SftpBenutzername
mit WertDemo
#env.ConditionalTrigger.SftpPassword
mit WertPasswort
(im geheimen Feld)#env.ConditionalTrigger.Dateiname
mit Wertreadme.txt
Erstellen eines Unterprozesses
Ein neuer Unterprozess kann erstellt werden, indem Sie zur Unterprozess-Listenansicht navigieren und auf das+ Neu erstellen
Taste.
SFTP-Aufgabe hinzufügen
Der nächste Schritt beim Erstellen eines Unterprozesses besteht darin, eine Aufgabe hinzuzufügen, die die Datei vom Quell-SFTP-Server abrufen kann. Wir werden eine Aufgabe namens SFTP.DownloadFiles verwenden. Die Aufgabe kann zum Abrufen von Dateien vom SFTP-Server verwendet werden.
In diesem Beispiel konfigurieren wir Informationen unterQuelle
UndZiel
Registerkarten im Parametereditor der Aufgabe. In der Quelle ist die Aufgabe so konfiguriert, dass sie in Umgebungsvariablen gespeicherte Anmeldeinformationen und Adressen verwendet. Außerdem wird der Dateiname aus der Umgebungsvariable übernommen. Im Ziel muss nur das Verzeichnis definiert werden.
Das exklusive Entscheidungselement wird verwendet, um zu bestimmen, ob Dateien vom SFTP-Server gelesen wurden. Die Aufgabe gibt die Nummer der übertragenen Dateien zurück inAnzahl erfolgreicher Übertragungen
damit lässt sich prüfen, ob Dateien gefunden und übertragen wurden.
Wenn Dateien gelesen werden, wird der Dateiname an den übergeordneten Prozess zurückgegeben.ÜbertrageneDateinamen
enthält eine Liste mit den Namen der übertragenen Dateien. Hier wissen wir, dass nur eine Datei übertragen wird und möchten nur deren Namen weitergeben, daher kann der Name aus der Liste extrahiert werden, indem aufgerufen wirdErste()
Verfahren.
Wenn nichts gefunden wird, ist die Zeichenfolge leer""
wird an den übergeordneten Prozess zurückgegeben, da es Frends mitteilt, dass der Prozess, der einen bedingten Trigger enthält, nicht ausgeführt werden soll, und gibt zurückNull
würde hier auch funktionieren.
Erstellen eines Prozesses
Ein neuer Prozess kann erstellt werden, indem Sie zur Prozesslistenansicht navigieren und auf das+ Neu erstellen
Taste.
Bedingten Auslöser hinzufügen
Grundsätzlich funktioniert Conditional Trigger, indem der verwendete Subprozess und die Häufigkeit seiner Ausführung definiert werden. Wenn Sie weitere Informationen zu Conditional Triggern wünschen, lesen Sie bitte denDokumentation.
Ziehen Sie ein Startelement aus der Symbolleiste auf die Arbeitsfläche.
Wählen
Bedingt
aus demTyp
Dropdown-Menü im Parameter-Editor auf der rechten Seite des Canvas.Zuvor erstellte Unterprozesse können aus dem Dropdown-Menü ausgewählt werden.
Poll-Intervall in Sekunden
kann auf 60 belassen werden. Dies definiert, wie oft der Unterprozess ausgeführt wird.
Löschaufgabe hinzufügen
Als nächstes fügen wir die Aufgabe Frends.Files.Delete hinzu, um lokale Dateien zu löschen. Dazu werden Ordner und Name der zu löschenden Datei benötigt. Der Dateiname kann aus den Triggerdaten übernommen werden, da diese vom Unterprozess übergeben wurden.
Prozessprüfung
Der Prozess sollte nun zur Ausführung bereit sein. Der bedingte Trigger beginnt mit der Abfrage des SFTP-Servers, wenn der Prozess aktiviert wird. Zuvor sollte jedoch die Protokollebene für den Prozess für einige Minuten auf alles eingestellt werden, damit die Ausführung des Unterprozesses im bedingten Trigger tatsächlich protokolliert wird. Wenn die Protokollierung aufStandard
oderNur Fehler
Der Unterprozess wird nur protokolliert, wenn darin ein Fehler vorliegt. Da die Datei readme.txt immer auf dem SFTP-Server zu finden sein sollte, sollte der Prozess einmal pro Minute gestartet werden, wenn alles funktioniert.
Wenn Sie beobachten möchten, wie der bedingte Trigger funktioniert, wenn eine Datei nicht gefunden wird und der Prozess daher nicht gestartet wird, können Sie den Dateinamen in#env.ConditionalTrigger.Dateiname
zu etwas anderem. Wenn Sie beobachten möchten, was passiert, wenn im Unterprozess im bedingten Trigger ein Fehler auftritt, können Sie das Zielverzeichnis im Unterprozess auf etwas Zufälliges ändern, um während der Task-Ausführung eine Ausnahme zu erzeugen.
Verwandte ArtikelVerfahrenSchnellstart für diejenigen, die keine Dokumentation lesenBedingter AuslöserEinführung in bedingte TriggerEinführung in die Verwendung von SFTP- und FTP/FTPS-Aufgaben in Ihren Prozessen