Zum Inhalt springen

Dateifunktionen in Jitterbit Design Studio

Mithilfe von Dateifunktionen können Scripts Dateien auf Agenten bearbeiten, die über Quellen verfügbar sind und auf Ziele geschrieben werden.

Hinweis

Für die Prozentkodierung verwendete Sonderzeichen (auch als URL Kodierung bekannt) Dateinamen werden für FTP und SFTP-Übertragungen in Design Studio unterstützt.

ArchiveFile

Erklärung

void ArchiveFile(string sourceId, string targetId[, bool deleteSource])

Syntax

ArchiveFile(<sourceId>, <targetId>[, <deleteSource>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt
  • targetId: Dateitypziel im aktuellen Projekt

Optionale Parameter

  • deleteSource: Boolesche Flagge (Standard false) gibt an, ob die Quelle nach erfolgreichem Schreiben in das Ziel gelöscht werden soll

Beschreibung

Liest eine Datei aus einer Dateitypquelle und schreibt sie in ein Dateitypziel. Diese Funktion kombiniert die ReadFile Und WriteFileFunktionen, führt automatisch FlushFile, und bietet eine Option zum Löschen der Quelldatei.

Der in diesem Funktionsaufruf verwendete Dateityp „Quelle“ und der Dateityp „Ziel“ müssen im aktuellen Projekt jeweils als Quelle und Ziel definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Da nur eine Datei archiviert wird, wird empfohlen, die Quelle so zu erstellen, dass nur eine einzige Datei zurückgegeben wird. Wenn mehrere Dateien zurückgegeben werden, wird nur die erste verwendet.

Wie dieWriteFileFunktion, diese Funktion überschreibt keine vorhandene Datei auf dem Ziel.

Wenn die ArchiveFile Funktion fehlschlägt, schlägt der Operation nicht fehl. Ein Script wird abgebrochen, dem Operation wird eine Warnung hinzugefügt und der Operation wird fortgesetzt.

Archivieren versus Kopieren

  • Wenn deleteSource Ist true wird die Datei von der Quelle zum Ziel archiviert (also verschoben) und aus der Quelle entfernt.
  • Wenn deleteSource Ist false, wird die Datei von der Quelle zum Ziel kopiert und verbleibt auf der Quelle.

INFO: Diese Funktion ist in Harmony Version 8.26 verfügbar und höher.

Beispiele

// Retrieve list of files from a source
localFiles = FileList("<TAG>Sources/Local File Source</TAG>");

// Create a global archive filename
$archiveFilename = "archive.[date]-[time]." + localFiles[0];

// Archive (moves) a file, using`[Archivdateiname] `in the target filename(s) field
ArchiveFile("<TAG>Sources/Local File Source</TAG>",
    "<TAG>Targets/FTP Target</TAG>", true);

// Copies a file, using`[Archivdateiname] `in the target filename(s) field
ArchiveFile("<TAG>Sources/Local File Source</TAG>",
    "<TAG>Targets/FTP Target</TAG>", false);

DeleteFile

Erklärung

int DeleteFile(string sourceId[, string fileFilter])

Syntax

DeleteFile(<sourceId>[, <fileFilter>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt

Optionale Parameter

  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Quelldefinition

Beschreibung

Löscht eine Datei aus der angegebenen Quelle.

Die in diesem Funktionsaufruf verwendete Dateitypquelle muss als Quelle im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Wenn der Quellfilter mehr als eine Datei auswählt, wird ein Fehler ausgegeben. Um mehrere Dateien zu löschen, verwenden Sie die DeleteFilesFunktion stattdessen.

Die Methode gibt eine Ganzzahl von 0 oder 1 zurück: Sie gibt 1 zurück, wenn die Datei gelöscht wurde, und 0, wenn die Datei nicht gefunden werden konnte.

Der zweite Parameter, fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Quelldefinition.

Beispiele

// Delete the file "ExampleFile.txt" from the "File Share Source"
DeleteFile("<TAG>Sources/File Share Source</TAG>", "ExampleFile.txt");

DeleteFiles

Erklärung

int DeleteFiles(string sourceId[, string fileFilter])

Syntax

DeleteFiles(<sourceId>[, <fileFilter>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt

Optionale Parameter

  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Quelldefinition

Beschreibung

Löscht eine oder mehrere Dateien aus der angegebenen Quelle.

Die in diesem Funktionsaufruf verwendete Dateitypquelle muss als Quelle im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Diese Methode löscht mehrere Dateien, falls welche gefunden werden, basierend auf dem Dateifilter der Quelldefinition. Es wird eine Ganzzahl zurückgegeben, die angibt, wie viele Dateien gelöscht wurden. Die Rückgabe von 0 bedeutet, dass keine Dateien gefunden wurden, die dem Dateifilter entsprechen.

Wenn ein angegebener Pfad in der Quelle nicht gefunden werden kann, wird ein Fehler ausgegeben. Wenn dies möglich ist, sollte die Funktion in ein Eval Funktion.

Um eine einzelne Datei zu löschen, verwenden Sie die DeleteFile Funktion stattdessen.

Der zweite Parameter, fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Quelldefinition.

Beispiele

// Delete all text (".txt") files in the source "File Source"
DeleteFiles("<TAG>Sources/File Source</TAG>","*.txt");

DirList

Erklärung

array DirList(string sourceId[, string path, string fileFilter])

Syntax

DirList(<sourceId>[, <path>, <fileFilter>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt

Optionale Parameter

  • path: Dateipfad zum Überschreiben der Quelldefinition
  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Quelldefinition

Beschreibung

Gibt eine Liste der in einer Quelle enthaltenen Verzeichnisse zurück und gibt optional einen Pfad und einen Filter zur Einschränkung der Ergebnisse an.

Diese Methode gibt ein Array mit den Verzeichnisnamen zurück.

Die in diesem Funktionsaufruf verwendete Dateitypquelle muss als Quelle im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Der Parameter fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Quelldefinition.

Beispiele

// Returns the count of the list of all the text files (".txt")
// in the "example" folder of the source "File Share Source"
Length(DirList("<TAG>Sources/File Share Source</TAG>",
    "\\\\server\\example","*.txt"));

FileList

Erklärung

array FileList(string sourceId[, string path, string fileFilter])

Syntax

FileList(<sourceId>[, <path>, <fileFilter>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt

Optionale Parameter

  • path: Dateipfad zum Überschreiben der Quelldefinition
  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Quelldefinition

Beschreibung

Gibt eine Liste der in einer Quelle enthaltenen Dateinamen zurück. Dies ist dieselbe Liste der Dateien, die empfangen wird, wenn die Verbindung einer Dateitypquelle getestet wird, es sei denn, es wird ein Dateifilter angegeben, der den in der Aktivitätskonfiguration angegebenen Filter überschreibt.

Die in diesem Funktionsaufruf verwendete Dateitypquelle muss als Quelle im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Der Parameter path ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Pfad zu überschreiben.

Der Parameter fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Quelldefinition.

Die Methode gibt ein Array zurück, das die Dateinamen enthält, die entweder dem Dateifilter der Quelle oder der überschriebenen Quelle entsprechen.

Beispiele

// Returns the count of the list of
// all the files in the source "File Share Source"
Length(FileList("<TAG>Sources/File Share Source</TAG>"));

FlushAllFiles

Erklärung

void FlushAllFiles([string targetId])

Syntax

FlushAllFiles([<targetId>])

Optionale Parameter

  • targetId: Dateitypziel im aktuellen Projekt

Beschreibung

Behält in einen Dateipuffer geschriebene Daten bei WriteFile().

Das in diesem Funktionsaufruf verwendete Dateitypziel muss als Ziel im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Wenn FlushAllFiles werden aufgerufen mit einem targetId als Argument werden alle mit diesem Ziel geschriebenen Dateien gelöscht (siehe FlushFile Funktion). Wenn FlushAllFiles wird ohne Argument aufgerufen, alle Dateien, die mit WriteFile an alle Ziele werden auf ihren jeweiligen Zielen gespeichert.

Siehe auch die FlushFiles Funktion.

Warnung

Wenn eine zum Schreiben angegebene Datei bereits existiert, wird ein Fehler ausgegeben, wenn FlushFile oder FlushAllFiles heißt. Verwenden Sie DeleteFile oder DeleteFiles um vorhandene Dateien vor dem Leeren zu entfernen.

Beispiele

// Write "contents1" to the file specified by the FTP target
WriteFile("<TAG>Targets/FTP Target</TAG>", contents1);

// Write "contents2" to a file "copy.txt",
// overriding that specified by the FTP target
WriteFile("<TAG>Targets/FTP Target</TAG>", contents2, "copy.txt");

// Flush both files to the target
FlushAllFiles("<TAG>Targets/FTP Target</TAG>");

FlushFile

Erklärung

void FlushFile(string targetId[, string filename])

Syntax

FlushFile(<targetId>[, <filename>])

Erforderliche Parameter

  • targetId: Dateitypziel im aktuellen Projekt

Optionale Parameter

  • filename: Dateiname zum Überschreiben der Zieldefinition

Beschreibung

Behält in einen Dateipuffer geschriebene Daten bei WriteFile. Wann FlushFile aufgerufen wird, wird der aktuelle Inhalt des Puffers in das Ziel geschrieben und der lokale Puffer verworfen.

Das in diesem Funktionsaufruf verwendete Dateitypziel muss im aktuellen Projekt als Ziel definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Der optionale Parameter filename kann verwendet werden, um den in der Zieldefinition verwendeten Dateinamen zu überschreiben, wenn dieser in ähnlicher Weise beim Aufruf des WriteFile Funktion. Das Leeren einer Datei, in die noch nie geschrieben wurde, hat keine Auswirkungen.

Alternativ kann eine globale Variable verwendet werden, um den Dateinamen in der Zieldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Zieldefinition. Wenn ein überschriebener Dateiname verwendet wird, wird jeder Puffer für jeden eindeutigen Namen separat geleert.

Siehe auch die FlushAllFiles Funktion.

Warnung

Wenn eine zum Schreiben angegebene Datei bereits existiert, wird ein Fehler ausgegeben, wenn FlushFile oder FlushAllFiles heißt. Verwenden Sie DeleteFile oder DeleteFiles um vorhandene Dateien vor dem Leeren zu entfernen.

Beispiele

// Writing the variable "contents" to a target
WriteFile("<TAG>Targets/FTP Target</TAG>", contents);

// Flushing (actually writing) to the target
FlushFile("<TAG>Targets/FTP Target</TAG>");

// Write another file (overriding the filename in the target)
WriteFile("<TAG>Targets/FTP Target</TAG>", contents, "test.txt");

// Flushing the "test.txt" file explicitly
FlushFile("<TAG>Targets/FTP Target</TAG>", "test.txt");

ReadFile

Erklärung

string ReadFile(string sourceId[, string fileFilter])

Syntax

ReadFile(<sourceId>[, <fileFilter>])

Erforderliche Parameter

  • sourceId: Dateitypquelle im aktuellen Projekt

Optionale Parameter

  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Quelldefinition

Beschreibung

Liest den Inhalt einer Datei aus einer Quelle.

Die in diesem Funktionsaufruf verwendete Dateitypquelle muss im aktuellen Projekt als Quelle definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Die Methode gibt den Inhalt der Datei zurück, auf die die Quelle verweist. Wenn der Quellfilter mehr als eine Datei auswählt, wird die erste verwendet. Es wird empfohlen, eine Quelle anzugeben, die eine einzelne Datei eindeutig identifiziert.

Der Parameter fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Quelldefinition.

Ab Harmony Version 8.20, wenn die ReadFile() Funktion fehlschlägt, schlägt der Operation nicht fehl. Ein Script wird abgebrochen, dem Operation wird eine Warnung hinzugefügt und der Operation wird fortgesetzt.

Mit dieser Methode können Daten aus einer HTTP-Quelle gelesen werden. In diesem Fall werden alle Jitterbit $jitterbit.source.http.* Variablen werden ausgefüllt.

Warnung

Diese Funktion funktioniert nicht zuverlässig bei Dateien mit binärem Inhalt, da sie normalerweise nur einen Teil der Datei liest. Wenn die Datei binären Inhalt hat, verwenden Sie die Base64encodefile-Funktion, um stattdessen den gesamten Dateiinhalt zu lesen.

Beispiele

$fileContents = ReadFile("<TAG>Sources/File Share Source</TAG>")

WriteFile

Erklärung

void WriteFile(string targetId, type fileContents[, string filename])

Syntax

WriteFile(<targetId>, <fileContents>[, <filename>])

Erforderliche Parameter

  • targetId: Dateitypziel im aktuellen Projekt

Optionale Parameter

  • fileContents: In die Datei zu schreibende Daten
  • filename: Dateiname zum Überschreiben der Zieldefinition

Beschreibung

Schreibt der fileContents zum Dateitypziel, das angegeben ist durch targetId. Wenn fileContents vom Typ „binär“ ist, werden die Binärdaten in die Datei geschrieben. In allen anderen Fällen wird eine Zeichenfolgendarstellung der Daten geschrieben.

Das in diesem Funktionsaufruf verwendete Dateitypziel muss als Ziel im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Der dritte Parameter, filename ist optional und kann verwendet werden, um den im Ziel verwendeten Dateinamen zu überschreiben. Alternativ kann eine globale Variable verwendet werden, um den Dateinamen in der Zieldefinition zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Zieldefinition.

Diese Methode kann auch verwendet werden, um Daten an ein HTTP-Ziel zu schreiben/zu posten. In diesem Fall $jitterbit.target.http.* Variablen werden aufgefüllt.

Ab Harmony Version 8.20, wenn die WriteFile() Funktion fehlschlägt, schlägt der Operation nicht fehl. Ein Script wird abgebrochen, dem Operation wird eine Warnung hinzugefügt und der Operation wird fortgesetzt.

Puffern und Spülen

Der Dateiinhalt wird lokal gepuffert, bis entweder FlushFile oder FlushAllFiles wird auf dem Ziel aufgerufen oder die Transformation wird erfolgreich abgeschlossen. Der Aufruf WriteFile mehrmals ohne anzurufen FlushFile fügt Daten an den aktuellen Puffer an und alles wird erst dann in das tatsächliche Dateitypziel geschrieben, wenn es geleert wird. Ein Dateipuffer wird eindeutig durch das Ziel (und möglicherweise den filename); beispielsweise kann dasselbe Ziel durch Angabe eines Dateinamens zum Schreiben in verschiedene Dateien im selben Verzeichnis verwendet werden, und jeder Dateipuffer ist separat.

Bei einer Transformation werden Dateien nicht tatsächlich in das Ziel geschrieben, es sei denn, FlushFile oder FlushAllFiles aufgerufen wird. Wenn eine Transformation in einer Operation oder als Teil einer Operation ausgeführt wird, wird die Datei geschrieben, wenn entweder die Transformation erfolgreich abgeschlossen ist oder wenn FlushFile oder FlushAllFiles wird im Script aufgerufen.

Siehe auch die FlushAllFiles Und FlushFiles Funktionen.

Warnung

Wenn eine zum Schreiben angegebene Datei bereits existiert, wird ein Fehler ausgegeben, wenn FlushFileoder FlushAllFilesheißt. Verwenden Sie DeleteFileoder DeleteFilesum vorhandene Dateien vor dem Leeren zu entfernen.

Beispiele

// Write "contents" to a file in a target
WriteFile("<TAG>Targets/FTP Target</TAG>", contents);

// Use the filename "test.txt" instead of
// what is defined in the target
WriteFile("<TAG>Targets/FTP Target</TAG>", contents, "test.txt");