Erstellen und Konfigurieren von WinSCP Scripts zum Übertragen von Dateien vom Dateisystem auf SFTP im Jitterbit App Builder
In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie WINSCP Scripts erstellen und konfigurieren, um Dateien von einem Dateisystem auf SFTP zu übertragen. Die voraussichtliche Zeit für diese Einrichtung sollte etwa 10-15 Minuten betragen. Als Hintergrund wird dieser Ansatz für einen Client verwendet, der .xlsx-Dateien generiert von App Builder die ein Drittunternehmen verwendet, um den Mitarbeiterzugriff auf Berichte im Clientsystem zu bestimmen. Diese Informationen werden also generiert aus App Builder und dann gemäß dem in dieser Anleitung beschriebenen Verfahren auf den Server des Drittanbieters übertragen.
So konfigurieren Sie
- Erstellen Sie ein Verzeichnis neues Verzeichnis auf Ihrem Webserver und fügen Sie ihm zwei Dateien hinzu —
winscp.log
Und{{someName}} Export.txt
-
Im
{{SomeName}} Export.txt
Datei, fügen Sie den folgenden Code hinzu, damit er in Ihr Setup passt:open sftp://{{Benutzername}}:{{passwort}}@{{hostname}} -hostkey="ssh-rsa 2048 {{hostkey}}" cd /path/to/directory/on/sftp put -nopermissions -nopreservetime -delete C:\{{LocalPathToFile}}\* exit
Im Codeblockbeispiel heißt es
sftp://{{Benutzername}}:{{passwort}}@{{hostname}}
,{{Benutzername}}
,{{passwort}}
, Und{{hostname}}
sollte durch die SFTP-Anmeldeinformationen und den Hostnamen ersetzt werden, und die-hostkey
bezieht sich auf den Server-Hostschlüssel-Fingerabdruck, der unter WinSCP > Sitzung > Server- und Protokollinformationen > Server-Host-Fingerabdruck zu finden ist. Siehe Screenshot:cd /path/to/directory/on/sftp
bezieht sich auf das Stammverzeichnis im Ziel-SFTP-Ordner, in das die Dateien verschoben werden sollen.put -nopermissions -nopreservetime -delete C:\{{LocalPathToFile}}\*
bezieht sich auf den Speicherort der Datei auf dem Quellserver ({{nm.ab}} Server), dass die Datei existiert, während * ein Platzhalter ist, der dem Script mitteilt, dass alle Dateien in diesem Verzeichnis übernommen werden sollen.Es ist auch zu beachten, dass die
-delete
im Script wird Ihre Datei gelöscht, sobald sie verschoben wird (oder versucht wird, sie zu verschieben). Dieses Flag kann entfernt werden, wenn Sie die Datei in Ihrem Quellverzeichnis behalten möchten. -
Öffnen Sie den Windows-Taskplaner auf dem Webserver und erstellen Sie eine neue Aufgabe nach Ihren Vorgaben. In dieser speziellen Konfiguration ist der Zeitplan so konfiguriert, dass er alle 5 Minuten ausgeführt wird. Dies wird mit der Option „Aufgabe alle 5 Minuten für eine Dauer von 1 Tag wiederholen“ bei einem täglichen Zeitplan erreicht:
-
Doppelklicken Sie auf die Aufgabe, die Sie gerade in Schritt 3 erstellt haben. Erstellen Sie unter der Tab Aktionen eine Aktion Programm starten:
- Wählen Sie unter Programm/ Script den Speicherort der WinSCP.exe
- Geben Sie in Argumente hinzufügen (optional) die folgende Zeichenfolge ein
/console /script="{{someName}} Export.txt" /log="winscp.log"
wobei{{someName}} Export.txt
ist der Name der in Schritt 1 erstellten Datei undwinscp.log
ist Ihre winscp.log-Datei, die auch in Schritt 1 erstellt wurde. - Fügen Sie in Starten in (optional) das „neue Verzeichnis“ hinzu, das Sie in Schritt 1 erstellt haben
Ihre Aufgabe sollte jetzt so eingerichtet sein, dass Dateien aus dem angegebenen Verzeichnis auf SFTP verschoben werden! Sie können Ihre Aufgabe bei Bedarf über den Windows Taskplaner ausführen und die Datei winscp.log auf Fehler überprüfen.
WinSCP verfügt über eine sehr nützliche Dokumentation, wenn Sie das Script erweitern oder etwas Ähnliches mit WinSCP tun möchten: https://winscp.net/eng/docs/scripting