So verwenden Sie einen bedingten Trigger, um einen Prozess zu starten, wenn die Datei auf dem SFTP-Server gefunden wird

Starten Sie einen Prozess, wenn eine Datei auf dem SFTP-Server gefunden wird

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Geschrieben 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:

  1. Editorzugriff auf Ihren Frends-Mandanten, um auf die Prozess-Editor-Ansicht zuzugreifen.

  2. Zum Ausführen von Prozessen sind eine Agentengruppe und eine Umgebung eingerichtet.

  3. Die Aufgabe „Frends.SFTP.DownloadFiles“ wurde in Ihren Frends-Mandanten importiert.

  4. 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 alsNulloder 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.SftpAdressemit Werttest.rebex.net

  • #env.ConditionalTrigger.SftpBenutzernamemit WertDemo

  • #env.ConditionalTrigger.SftpPasswordmit WertPasswort(im geheimen Feld)

  • #env.ConditionalTrigger.Dateinamemit Wertreadme.txt

Erstellen eines Unterprozesses

Ein neuer Unterprozess kann erstellt werden, indem Sie zur Unterprozess-Listenansicht navigieren und auf das+ Neu erstellenTaste.

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 unterQuelleUndZielRegisterkarten 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 Übertragungendamit lässt sich prüfen, ob Dateien gefunden und übertragen wurden.

Wenn Dateien gelesen werden, wird der Dateiname an den übergeordneten Prozess zurückgegeben.ÜbertrageneDateinamenenthä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ückNullwürde hier auch funktionieren.

Erstellen eines Prozesses

Ein neuer Prozess kann erstellt werden, indem Sie zur Prozesslistenansicht navigieren und auf das+ Neu erstellenTaste.

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.

  1. Ziehen Sie ein Startelement aus der Symbolleiste auf die Arbeitsfläche.

  2. WählenBedingtaus demTypDropdown-Menü im Parameter-Editor auf der rechten Seite des Canvas.

  3. Zuvor erstellte Unterprozesse können aus dem Dropdown-Menü ausgewählt werden.

  4. Poll-Intervall in Sekundenkann 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 aufStandardoderNur FehlerDer 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.Dateinamezu 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