Wenn Sie einen Auftrag in der Befehlszeile mit Job Executor oder mit der Administrationsumgebung ausführen, können Sie die im Quellschritt des Datenflusses (wie „Read from File“) angegebene Eingabedatei sowie die im Ziel des Datenflusses (wie „Write to File“) angegebene Ausgabedatei überschreiben.
Um dies im Job Executor zu tun, geben Sie diesen Befehl am Ende des Job Executor-Befehls an:
StageName=Protocol:FileName
Verwenden Sie in der Administrationsumgebung das Argument --l im Befehl job execute:
--l StageName=Protocol:FileName
Wo:
- StageName
-
Die Schrittbeschriftung unter dem Symbol des Schrittes im Datenfluss im Spectrum Enterprise Designer. Hat der Schritt beispielsweise die Beschriftung „Read from File“, würden Sie
Read from File
als Schrittnamen angeben.Um einen Schritt innerhalb eines eingebetteten Datenflusses oder Unterflusses anzugeben, stellen Sie dem Schrittnamen als Präfix den Namen des eingebetteten Datenflusses oder Unterflusses voran, gefolgt von einem Punkt und schließlich dem Schrittnamen:
EmbeddedOrSubflowName.StageName
Beispiel: Um einen Schritt mit Namen „Write to File“ in einem Unterfluss mit Namen „Unterfluss1“ anzugeben, würden Sie Folgendes angeben:
Unterfluss1.Write to File
Um einen Schritt in einem eingebetteten Datenfluss anzugeben, der sich innerhalb eines anderen eingebetteten Datenflusses befindet, fügen Sie den übergeordneten Datenfluss hinzu und verwenden Sie jeweils einen Punkt als Trennzeichen. Beispiel: Wenn sich „Eingebetteter Datenfluss 2“ innerhalb von „Eingebetteter Datenfluss 1“ befindet und Sie den „Write to File“-Schritt im „Eingebetteten Datenfluss 2“ angeben möchten, würden Sie Folgendes angeben:
Eingebetteter Datenfluss 1.Eingebetteter Datenfluss 2.Write to File
- Protokoll
-
Ein Kommunikationsprotokoll, das einer der folgenden Typen sein kann:
- file
- Verwendet das Protokoll file, wenn die Datei auf demselben Computer ist wie der Spectrum Technology Platform-Server. Geben Sie beispielsweise unter Windows Folgendes an:
„file:/C:/myfile.txt“
Geben Sie unter Linux Folgendes an:„file:/testfiles/MeineDatei.txt“
- esclient
- Verwendet das Protokoll „esclient“, wenn sich die Datei auf dem Computer befindet, auf dem Sie den Auftrag ausführen, wenn es sich dabei um einen anderen Computer handelt als den, auf dem der Spectrum Technology Platform-Server ausgeführt wird. Verwenden Sie dieses Format:
esclient:ComputerName/Pfad zur Datei
Zum Beispiel:esclient:MeinComputer/Testdateien/MeineDatei.txt
Anmerkung: Wenn Sie den Auftrag auf dem Server selbst ausführen, können Sie entweder das Protokoll file oder esclient verwenden, erzielen aber wahrscheinlich mit file eine bessere Leistung.Falls der Hostname des Spectrum Technology Platform-Servers nicht aufgelöst werden kann, können Sie den Fehler „Fehler beim Zugriff auf Datei“ erhalten. Um dieses Problem zu beheben, öffnen Sie diese Datei auf dem Server: SpectrumDirectory/server/conf/spectrum-container.properties. Legen Sie für die Eigenschaft spectrum.runtime.hostname die IP-Adresse des Servers fest. - esfile
- Verwenden Sie das Protokoll „esfile“, wenn sich die Datei auf einem Dateiserver befindet. Der Dateiserver muss in der Spectrum Management Console als Ressource definiert sein. Verwenden Sie dieses Format:
esfile://Dateiserver/Pfad zur Datei
Zum Beispiel:esfile://MeinServer/Testdateien/MeineDatei.txt
Dabei ist „MeinServer“ eine in der Spectrum Management Console definierte FTP-Dateiserverressource.
- Dateiname
-
Der vollständige Pfad zu der Datei, die Sie als Eingabe oder Ausgabe verwenden möchten.
Anmerkung: Sie müssen in Dateipfaden Schrägstriche verwenden. Nutzen Sie keine Backslashes.
Um mehrere Überschreibungen anzugeben, trennen Sie jede Überschreibung durch ein Komma.
Beispiel für das Überschreiben einer Datei
In diesem Beispiel wird ein Auftrag namens „TestJob“ ausgeführt. Anstatt die Ausgabe in die Datei zu schreiben, die im „Write to File“-Schritt angegeben ist, wird sie in die Datei „outputoverride.txt“ geschrieben.
job execute --j TestJob --l "Write to File=file:/Users/me/outputoverride.txt"
Beispiel für das Überschreiben der „Read“- und „Write“-Dateiformate
Um sowohl Read from
- als auch Write to
-Dateien anzugeben, müssen Sie die beiden Speicherorte durch ein Komma trennen.
job execute --j J1 --v true --w true --l "Read from File=file://C:/tmp/input3.csv,Write to File=file://C:/tmp/my_new_output.csv"