Auflisten des Verzeichnisinhalts
In diesem Tutorial erfahren Sie, wie Sie einen Auftrag konfigurieren, der den Inhalt eines Verzeichnisses auflistet und diese Liste als .TXT-Datei speichert. Das Grundkonzept ist unten beschrieben:
1.Wir erstellen im Container /public/Examples einen neuen Auftrag.
2.Anschließend fügen wir einen Ausführungsschritt hinzu, der den Shell-Befehl dir ausführt. Dieser Befehl listet den Inhalt des angegebenen Verzeichnisses auf.
3.Im nächsten Schritt fügen wir einen weiteren Ausführungsschritt hinzu, in dem das Ergebnis des ersten Schritts verwendet wird und speichern dieses Ergebnis als TXT-Datei mit dem Namen FileList.txt.
4.Außerdem konfigurieren wir einen Dateisystem-Trigger, der das Verzeichnis alle 60 Sekunden auf Änderungen überprüft und den Auftrag startet, wenn eine neue Datei zum angegebenen Verzeichnis hinzugefügt wurde.
5.Außerdem wählen wir vorhandene Passwort-Anmeldeinformationen aus, mit denen der Auftrag gestartet wird.
6.Nachdem wir die Auftragskonfiguration gespeichert haben, werden alle vorhandenen Dateien im angegebenen Verzeichnis als neu erstellt betrachtet und der Auftrag wird ausgeführt. Als Ergebnis wird die Datei FileList.txt, die die Verzeichnisliste enthält, erstellt.
Implementierung
In diesem Unterabschnitt wird Schritt für Schritt beschrieben, wie Sie den obigen Auftrag erstellen. Die Implementierung dieses Szenarios sehen Sie auch in der GIF-Datei am unteren Rand des Kapitels.
Schritt 1: Erstellung eines Auftrags
Um einen Auftrag zu erstellen, gehen Sie folgendermaßen vor:
1.Melden Sie sich bei FlowForce Server an.
2.Navigieren Sie zu einem Container, für den Sie die Berechtigung zur Erstellung neuer Aufträge haben. Zu Testzwecken verwenden wir den Container /public/Examples. Falls dieser Container noch nicht existiert, erstellen Sie ihn mit dem Befehl Erstellen | Container erstellen.
3.Erstellen Sie im Container /public/Examples einen neuen Auftrag, indem Sie auf Erstellen | Auftrag erstellen klicken.
4.Geben Sie einen Namen für den Auftrag (z.B. Beispielauftrag) und optional eine Auftragsbeschreibung ein.
Der Auftrag in unserem Beispiel hat den Namen ListFiles und enthält die folgende Beschreibung: "Lists directory contents and saves the list as a TXT file."
Schritt 2: Hinzufügen eines Ausführungsschritts, der den Verzeichnisinhalt auflistet
Um einen Ausführungsschritt hinzuzufügen, der den Inhalt eines Verzeichnisses auflistet, gehen Sie folgendermaßen vor:
1.Klicken Sie im Abschnitt Ausführungsschritte auf Neuer Ausführungsschritt.
2.Geben Sie ins Feld Funktion ausführen den Namen der vordefinierten Funktion /system/shell/commandline ein. Diese Systemfunktion kann Shell-Befehle und Batch-Dateien ausführen.
3.Geben Sie in das Feld Parameter | Befehl den Befehl dir ein. Mit diesem Befehl wird in verschiedenen Betriebssystemen der Inhalt eines Verzeichnisses aufgelistet.
4.Im nächsten Schritt muss ein Arbeitsverzeichnis, dessen Inhalt aufgelistet werden soll, angegeben werden. Klicken Sie neben dem Parameter Arbeitsverzeichnis auf das Plus-Zeichen. Dadurch wird das Textfeld ausgeblendet. Das Arbeitsverzeichnis in diesem Beispiel ist C:\Test\FlowForceServer\ExampleFiles.
5.Um das von diesem Ausführungsschritt erzeugte Ergebnis verwenden zu können, müssen wir das Ergebnis des Schritts einem Wert des Typs result zuweisen. Der Name des Werts lautet in unserem Beispiel list. Sie können für das Ergebnis des Schritts jeden beliebigen geeigneten Namen auswählen. Nähere Informationen zu Schrittergebnissen finden Sie unter Schrittergebnis.
Schritt 3: Hinzufügen eines Ausführungsschritts, der die Verzeichnisliste in einer Datei speichert
Um einen Ausführungsschritt hinzuzufügen, der die Verzeichnisliste in einer Datei speichert, gehen sie folgendermaßen vor:
1.Fügen Sie im Abschnitt Ausführungsschritte einen weiteren Schritt hinzu.
2.Geben Sie ins Feld Funktion ausführen den Namen der vordefinierten Funktion /system/create-file ein.
3.Geben Sie den Namen der Zieldatei, in der die Verzeichnisliste gespeichert werden soll, ein. In unserem Beispiel geben wir den vollständigen Pfad zur Zieldatei ein: C:\Test\FlowForceServer\ExampleFiles\FileList.txt.
4.Im nächsten Schritt stellen wir das Ergebnis des ersten Ausführungsschritts im Feld Quell-Stream bereit. Da das Ergebnis des ersten Schritts den Typ result hat und im Feld Quell-Stream ein Stream erwartet wird, stimmen die Datentypen nicht miteinander überein. Damit das Ergebnis des ersten Schritts im zweiten Schritt verwendet werden kann, müssen die Datentypen übereinstimmen. Wir verwenden daher die Ausdrucksfunktion stdout, die anhand des Parameters result einen Stream erzeugt. Geben Sie in das Feld Quell-Stream Folgendes ein: stdout(list), wobei list der Name des in Schritt 2.4 oben deklarierten Schrittergebnisses ist.
5.Aktivieren Sie den Parameter Ziel überschreiben, sodass FlowForce Server die bereits im Zielordner vorhandenen Dateien überschreibt.
Schritt 4: Konfigurieren eines Dateisystem-Triggers, der den Auftrag startet
Sie müssen für jeden Auftrag, den Sie konfigurieren eine oder mehrere Bedingungen definieren, die den Auftrag starten. In diesem Tutorial definieren wir einen Dateisystem-Trigger, der das in Schritt 1 angegebene Verzeichnis alle 60 Sekunden überprüft. Wenn neue Dateien gefunden werden, startet der Trigger den Auftrag und schreibt die Verzeichnisliste in die in Schritt 3.3 definierte Zieldatei. Um einen Dateisystem-Trigger zu konfigurieren, gehen Sie folgendermaßen vor:
1.Navigieren Sie zum Abschnitt Trigger und wählen Sie Neuer Dateisystem-Trigger. Daraufhin wird der Trigger-Block mit verschiedenen Parametern angezeigt.
2.Wählen Sie in der Dropdown-Liste des Parameters Überprüfe Neu erstellt aus.
3.Geben Sie den Pfad zu dem zu überprüfenden Verzeichnis an: C:\Test\FlowForceServer\ExampleFiles.
Schritt 5: Auswählen der Anmeldeinformationen
Bei der Erstellung eines Auftrags in FlowForce Server müssen die Anmeldeinformationen für das Benutzerkonto, von dem aus der Auftrag ausgeführt werden muss, angegeben werden.
Wir wählen im Abschnitt Anmeldeinformationen Passwort-Anmeldeinformationen aus, die wir bereits vor Beginn des Tutorials definiert haben. Dabei handelt es sich um ein Standalone-Objekt, das in jedem beliebige Auftrag verwendet werden kann. Standalone-Anmeldeinformationen sind deshalb praktisch, weil Sie diese zentral an einer Stelle ändern können, wobei sich diese Änderung auf alle Aufträge auswirkt, in denen diese referenziert werden.
Alternativ dazu können Sie lokale Anmeldeinformationen definieren, indem Sie Ihren Benutzernamen und Ihr Passwort eingeben.
Nähere Informationen zu Anmeldeinformationstypen sowie eine Anleitung, wie Sie diese erstellen, finden Sie unter Anmeldeinformationen.
Schritt 6: Speichern und Ausführen des Auftrags
Um die Auftragskonfiguration zu speichern, klicken Sie am unteren Rand der Konfigurationsseite auf die Schaltfläche Speichern. Um den Auftrag das erste Mal auszuführen, müssen Sie keine Aktion setzen. Wenn Sie einen neuen Trigger hinzufügen und die Auftragskonfiguration speichern, werden alle vorhandenen Dateien im angegebenen Verzeichnis als neu erstellt betrachtet und der Auftrag wird ausgeführt.
Um die Auftragsausführung erneut zu starten, müssen die Trigger-Bedingungen erfüllt werden, d.h. es muss mindestens eine Datei zu C:\Test\FlowForceServer\ExampleFiles hinzugefügt oder eine vorhandene Datei in diesem Verzeichnis umbenannt werden.
Ergebnis des Auftrags
Nachdem der Auftrag erfolgreich ausgeführt wurde, wird in FileList.txt der Inhalt des Verzeichnisses angezeigt. Unten sehen Sie einen Auszug aus der Textdatei:
Verzeichnis C:\Test\FlowForceServer\ExampleFiles
05/24/2024 02:18 PM <DIR> .
05/24/2024 02:18 PM <DIR> ..
05/23/2023 12:01 PM 25,126 Authors.xml
05/05/2023 05:17 PM 2,280 Authors.xsd
05/22/2024 11:05 AM 515 BookListBiography.json
05/22/2024 11:05 AM 1,560 BookListChildren.json
05/22/2024 11:06 AM 2,433 BookListClassics.json
05/22/2024 11:07 AM 2,447 BookListCrimeMystery.json
05/22/2024 11:08 AM 5,036 BookListFantasy.json
05/22/2024 11:08 AM 1,121 BookListHorror.json
05/22/2024 11:08 AM 477 BookListHumor.json
05/22/2024 11:09 AM 963 BookListSciFi.json
01/19/2024 07:22 PM 3,197 BookOrder.xml
12/06/2023 06:44 PM 1,663 BookOrder.xsd
09/11/2023 11:22 AM 17,905 Books.json
05/22/2024 11:02 AM 993 Books.schema.json
05/24/2024 02:18 PM 1,224 FileList.txt
05/24/2024 01:47 PM 368 Notes.txt
16 File(s) 67,308 bytes
2 Dir(s) 725,686,542,336 bytes free
Im GIF angezeigte Implementierung
Klicken Sie auf die GIF-Datei unten, um eine kurze Demo der in diesem Tutorial beschriebenen Schritte zu sehen. Beachten Sie, dass im GIF zur die Schritte 2-4 zu sehen sind. Eine Darstellung von Schritt 1 und 5 finden Sie im Hello World-Tutorial.