Herunterladen oder Hochladen einer oder mehrerer Dateien mit einem SFTP-Task
RGeschrieben vonRiku Virtanen Vor über einer Woche aktualisiertTable of contentsDownloadFiles- und UploadFiles-Aufgaben
Die Aufgaben „DownloadFiles“ und „UploadFiles“ sind für das Herunterladen und Hochladen einer oder mehrerer Dateien über eine SFTP-Verbindung konzipiert. Die Aufgabe nimmt Quellinformationen wie Verzeichnis und Dateiname, Zielinformationen, die angeben, wohin die Datei übertragen werden soll, und Verbindungsinformationen entgegen, die für die Verbindung mit dem Quellsystem verwendet werden. Die Aufgabe verfügt außerdem über Optionen und Info-Registerkarten, die optional sind. Wir werden diese nacheinander durchgehen.
Die Aufgaben werden zunächst ausgeführt, um Dateien aufzulisten, die der angegebenen Dateimaske entsprechen, und führen dann die eigentliche Übertragung durch. Die Übertragung erfolgt, indem die Dateien zunächst in das temporäre Verzeichnis des Agenten verschoben werden, indem ein temporärer Ordner für diese Datei erstellt wird. Anschließend wird die Datei in das eigentliche Zielverzeichnis übertragen. Die Aufgabe bereinigt den von ihr erstellten temporären Ordner und die darin enthaltene temporäre Datei.
Quelleigenschaften
Aufgaben können alle oder nur bestimmte Dateien aus einem bestimmten Verzeichnis übertragen. Dies geschieht durch die Angabe des Quellverzeichnisses und eines Dateinamens. Sie können im selben Feld auch eine Dateimaske verwenden, um die zu übertragenden Dateien anzugeben. Bei Verwendung einer Dateimaske wird jede Datei übertragen, die von dieser Maske erkannt wird. Sie können auch reguläre Ausdrücke und Makros verwenden, um die zu übertragende Datei anzugeben.
Nachdem Sie das Quellverzeichnis und den Dateinamen angegeben haben, können Sie eine Aktion auswählen, die der Task ausführen soll, wenn keine Dateien gefunden werden. Optionen für diese Aktionen sind Fehler, Info und Ignorieren. Wenn Sie den Task in einem geplanten Prozess verwenden und bereits wissen, dass der Task nicht bei jedem Durchlauf Dateien überträgt, ist es normalerweise besser, entweder Info oder Nichts zu verwenden. Wenn der Task bei jedem Durchlauf eine oder mehrere Dateien übertragen soll, ist Fehler die richtige Wahl. Auf diese Weise wird eine Exception ausgelöst, wenn der Task keine Dateien findet, und der Support kann benachrichtigt werden.
Anschließend können Sie das Feld „Operation“ verwenden, das bestimmt, was die Aufgabe mit der ursprünglichen Quelldatei macht, nachdem die Übertragung abgeschlossen ist. Optionen für das Feld „Operation“ sind: Löschen, Umbenennen, Verschieben und Nichts. Diese sind ziemlich selbsterklärend, aber schauen wir uns die Optionen trotzdem genauer an.
Der Löschvorgang löscht die Datei nach Abschluss der Übertragung aus dem Quellverzeichnis. Dadurch führt die Aufgabe eine Art Verschiebungsvorgang für die Datei aus, sodass an keiner anderen Stelle doppelte Dateien vorhanden sind. Dieser Vorgang ist insbesondere dann nützlich, wenn das Quellverzeichnis häufig als Basisordner für zu übertragende Dateien verwendet wird, auch wenn die Dateien immer ähnlich benannt sind.
Task kann auch direkt angegebene Dateipfade verarbeiten. Das Attribut „Dateipfade“ ist hauptsächlich für die Verwendung mit dem Dateitrigger gedacht. Die korrekte Syntax für das Eingabefeld lautet#trigger.data.filePaths.
Sie können das FilePaths-Array jedoch auch in Ihrem Prozess erstellen. Der FilePaths-Parameter erwartet ein Zeichenfolgenarray, das mit einem C#-Ausdruck oder einem C#-Anweisungselement erstellt werden kann.
Zieleigenschaften
Aufgaben übertragen die Datei in ein bestimmtes Verzeichnis. Das Zielverzeichnis wird auf der Registerkarte „Ziel“ angegeben. Sie können auch einen Dateinamen angeben, der der übertragenen Datei nach der Übertragung zugewiesen wird. Beachten Sie, dass der Dateiname nicht statisch sein darf, wenn die Aufgabe mehrere Dateien überträgt. Im Feld müssen Makros verwendet werden, z. B. %SourceFileName%_%Date%%SourceFileExtension%.
Sie können die verwendete Kodierung für den Dateinamen zuweisen, die auf dem lokalen Computer verwendet wird. Diese Kodierung hat keinen Einfluss auf die im Inhalt der Dateien verwendete Kodierung, sondern nur auf den Namen. Um die Kodierung des Inhalts zu ändern, wird empfohlen, dies nach der Ausführung der DownloadFiles-Aufgabe zu tun. Die möglichen Werte für die Dateinamenkodierung finden Sie in der TaskDokumentation.
Zuletzt können Sie eine Aktion auswählen, die die Aufgabe ausführen soll, wenn im Zielverzeichnis bereits eine Datei mit demselben Namen vorhanden ist. Sie können dann wählen, ob Sie eine Ausnahme auslösen möchten, indem Sie „Fehler“ auswählen, die vorhandene Datei überschreiben oder den Inhalt an die vorhandene Datei anhängen möchten. Wenn Sie sich für das Anhängen entscheiden, gibt es eine weitere Option für die Kodierung des Inhalts. Ähnlich wie bei der Dateinamenkodierung können Sie wählen, welche Kodierung beim Anhängen verwendet werden soll.
Optionseigenschaften
Die Optionseigenschaften enthalten eine Liste zusätzlicher Optionen, die Sie für die Aufgabe festlegen können. Die erste lautet „Bei Fehler Fehler auslösen“. Diese Option ist ziemlich selbsterklärend, aber wenn sie aktiviert ist, löst die Aufgabe eine Ausnahme aus, wenn während der Ausführung Fehler auftreten. Standardmäßig ist sie aktiviert, aber in einigen Fällen kann sie deaktiviert werden, damit die Aufgabe eine andere Art von Fehlermeldung ausgibt.
Sie können die Umbenennung der Quell- und Zieldateien vor und während der Übertragung aktivieren. Diese Optionen benennen die übertragene Datei während der Übertragung um, sodass sie für die Verwendung durch andere Prozesse gesperrt ist. Die Quelldatei wird vor Beginn der Übertragung umbenannt und die Zieldatei wird als umbenannte Datei übertragen. Nach Abschluss der Übertragung wird die Zieldatei entweder auf den ursprünglichen Namen oder auf den Namen umbenannt, der dem Zieleigenschaftenverzeichnisparameter zugewiesen wurde. Sie können auch die Dateierweiterungen für diese umbenannten Dateien festlegen.
Sie können die Aufgabe aktivieren, um Zielverzeichnisse erstellen zu können. Diese Funktion ist nützlich, wenn Sie nicht sicher sind, ob das Zielverzeichnis existiert. Mit der Option „Letzte Änderung beibehalten“ behält die Aufgabe den Zeitstempel der letzten Änderung der Datei bei.
Schließlich enthält das Vorgangsprotokoll weitere Informationen zu den Übertragungen. Dies ist insbesondere beim Debuggen von Fehlern hilfreich.
Info-Eigenschaften
Die Info-Eigenschaften umfassen Optionen für die Verwendung im Betriebsprotokoll durch die Aufgabe sowie ein zusätzliches Arbeitsverzeichnis. Der Name der Übertragung wird im Betriebsprotokoll nur verwendet, um anzugeben, welche Übertragung gerade ausgeführt wird. Dies kann beispielsweise verwendet werden, wenn die Betriebsprotokolle im Prozess protokolliert oder archiviert werden. Der Parameter „Arbeitsverzeichnis“ ist optional und gibt das Verzeichnis an, das die Aufgabe verwenden wird, in das die Dateien zuerst verschoben werden, bevor sie in das Zielverzeichnis übertragen werden. Dies kann normalerweise leer gelassen werden, da die Aufgabe den temporären Ordner des lokalen Computers als Arbeitsverzeichnis verwendet.
Prozess-URI und Task-Ausführungs-ID werden verwendet, um einen temporären Ordner zu erstellen, in den die Dateien während der Übertragung zuerst verschoben werden.
Rückgabeeigenschaften
Die Aufgaben geben ein Ergebnisobjekt zurück, das Boolesche Werte für „ActionSkipped“ und „Success“, die Zeichenfolge „UserResultMessage“, „SuccessfulTransferCount“, „FailedTransferCount“, eine Liste der übertragenen Dateinamen, ein Wörterbuch der Übertragungsfehler, eine Liste der übertragenen Dateipfade und ein Vorgangsprotokoll enthält, das auf der Registerkarte „Optionen“ der Aufgaben deaktiviert werden kann.
Der nächste Artikel istEinführung in die ListFiles-Aufgabe
Verwandte ArtikelSo verwenden Sie einen bedingten Trigger, um einen Prozess zu starten, wenn die Datei auf dem SFTP-Server gefunden wirdEinführung in die ListFiles-AufgabeEinführung in WriteFile- und ReadFile-AufgabenEinführung in die Aufgaben „DownloadFiles“ und „UploadFiles“Einführung in die Verwendung von SFTP- und FTP/FTPS-Aufgaben in Ihren Prozessen