Dateifunktionen im Jitterbit Integration Studio
Dateifunktionen ermöglichen Scripts die Bearbeitung von Dateien auf Agenten, die über konfigurierte dateibasierte Aktivitäten verfügbar sind und als Quellen oder Ziele verwendet werden können.
Hinweis
Sonderzeichen für die Prozentkodierung (auch als URL -Kodierung bezeichnet) Dateinamen werden für FTP und SFTP-Übertragungen in Integration Studio unterstützt.
ArchiveFile
Erklärung
void ArchiveFile(string sourceId, string targetId[, bool deleteSource])
Syntax
ArchiveFile(<sourceId>, <targetId>[, <deleteSource>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft isttargetId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
deleteSource
: Boolesche Flagge (Standardfalse
) Gibt an, ob die Quelle nach erfolgreichem Schreiben in das Ziel gelöscht werden soll.
Beschreibung
Liest eine Datei aus einer Quellaktivität und schreibt sie in eine Zielaktivität. Diese Funktion kombiniert die ReadFile
Und WriteFile
Funktionen, führt automatisch FlushFile
und bietet eine Option zum Löschen der Quelldatei.
Die in diesem Funktionsaufruf verwendeten Quellen und Ziele müssen als Aktivitäten definiert sein, die mit Endpoints im aktuellen Projekt verknüpft sind. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Da nur eine Datei archiviert wird, empfiehlt es sich, die Quelle so zu erstellen, dass nur eine einzige Datei zurückgegeben wird. Werden mehrere Dateien zurückgegeben, wird nur die erste verwendet.
Wie die WriteFile
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, eine Warnung wird zum Operation hinzugefügt und der Operation wird fortgesetzt.
Archivieren versus Kopieren
- Wenn
deleteSource
Isttrue
wird die Datei von der Quelle zum Ziel archiviert (d. h. verschoben) und von der Quelle entfernt. - Wenn
deleteSource
Istfalse
wird die Datei von der Quelle zum Ziel kopiert und verbleibt dort.
Beispiele
// Retrieve list of files from a source
localFiles = FileList("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</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>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
"<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", true);
// Copies a file, using`[Archivdateiname] `in the target filename(s) field
ArchiveFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
"<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", false);
DeleteFile
Erklärung
int DeleteFile(string sourceId[, string fileFilter])
Syntax
DeleteFile(<sourceId>[, <fileFilter>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
fileFilter
: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Löscht eine Datei aus der angegebenen Quelle.
Die in diesem Funktionsaufruf verwendete Quelle muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Wenn der Quellfilter mehr als eine Datei auswählt, wird ein Fehler ausgegeben. Um mehrere Dateien zu löschen, verwenden Sie die DeleteFiles
Funktion.
Die Methode gibt eine Ganzzahl von 0 oder 1 zurück: 1, wenn die Datei gelöscht wurde, 0, wenn sie nicht gefunden werden konnte.
Der zweite Parameter, fileFilter
ist optional und kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Dateifilter zu überschreiben. Es kann ein Dateiname verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Beispiele
// Delete the file "ExampleFile.txt" from the "CSV Files"
DeleteFile("<TAG>activity:localstorage/Local Storage Endpoint/localstorage_read/CSV Files</TAG>",
"ExampleFile.txt");
DeleteFiles
Erklärung
int DeleteFiles(string sourceId[, string fileFilter])
Syntax
DeleteFiles(<sourceId>[, <fileFilter>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
fileFilter
: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Löscht eine oder mehrere Dateien aus der angegebenen Quelle.
Die in diesem Funktionsaufruf verwendete Quelle muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Diese Methode löscht mehrere Dateien, sofern welche gefunden werden, basierend auf dem Dateifilter der Aktivitätskonfiguration. Es wird eine Ganzzahl zurückgegeben, die angibt, wie viele Dateien gelöscht wurden. Eine 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 Aktivitätskonfiguration verwendeten Dateifilter zu überschreiben. Es kann ein Dateiname verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Beispiele
// Delete all text (".txt") files in the "FTP Files"
DeleteFiles("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>", "*.txt");
DirList
Erklärung
array DirList(string sourceId[, string path, string fileFilter])
Syntax
DirList(<sourceId>[, <path>, <fileFilter>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
path
: Dateipfad zum Überschreiben der AktivitätskonfigurationfileFilter
: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Gibt eine Liste der in einer Quelle enthaltenen Verzeichnisse zurück und gibt optional einen Pfad und einen Filter an, um die Ergebnisse einzuschränken.
Diese Methode gibt ein Array mit den Verzeichnisnamen zurück.
Die in diesem Funktionsaufruf verwendete Quelle muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Der Parameter fileFilter
ist optional und kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Dateifilter zu überschreiben. Es kann ein Dateiname verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Beispiele
// Returns the count of the list of all the text
// files (".txt") in the "example" folder of the
// File Share Read "File Share"
Length(DirList("<TAG>activity:fileshare/File Share Endpoint/fileshare_read/File Share</TAG>",
"\\\\server\\example","*.txt"));
FileList
Erklärung
array FileList(string sourceId[, string path, string fileFilter])
Syntax
FileList(<sourceId>[, <path>, <fileFilter>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
path
: Dateipfad zum Überschreiben der AktivitätskonfigurationfileFilter
: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Gibt eine Liste der in einer Quelle enthaltenen Dateinamen zurück. Dies ist die gleiche Liste der Dateien, die beim Testen der Verbindung einer Dateitypquelle empfangen wird, es sei denn, es wird ein Dateifilter angegeben, der den in der Aktivitätskonfiguration angegebenen Filter überschreibt.
Die in diesem Funktionsaufruf verwendete Quelle muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Der Parameter path
ist optional und kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Pfad zu überschreiben.
Der Parameter fileFilter
ist optional und kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Dateifilter zu überschreiben. Es kann ein Dateiname verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Die Methode gibt ein Array mit den Dateinamen zurück, die entweder dem Dateifilter der Quellaktivität oder der überschriebenen Quelle entsprechen.
Beispiele
// Returns the count of the list of all the
// files in the FTP endpoint "FTP Files"
Length(FileList("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>"));
FlushAllFiles
Erklärung
void FlushAllFiles([string targetId])
Syntax
FlushAllFiles([<targetId>])
Optionale Parameter
targetId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Beschreibung
Speichert in einen Dateipuffer geschriebene Daten mit WriteFile
.
Das in diesem Funktionsaufruf verwendete Ziel muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Wenn FlushAllFiles
wird aufgerufen mit einem targetId
als Argument werden alle Dateien, die mit diesem Ziel geschrieben werden, geleert (siehe FlushFile
Funktion). Wenn FlushAllFiles
ohne Argument aufgerufen wird, werden alle Dateien, die mit WriteFile
Alle als Ziele verwendeten Aktivitäten bleiben auf ihren jeweiligen Zielen erhalten.
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 the value of "contents1" to the file specified by
// the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
contents1);
// Write the value of "contents2" to a file "copy.txt", overriding
// that specified by the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
contents2, "copy.txt");
// Flush both files to the FTP Write activity "FTP Files"
FlushAllFiles("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>");
FlushFile
Erklärung
void FlushFile(string targetId[, string filename])
Syntax
FlushFile(<targetId>[, <filename>])
Erforderliche Parameter
targetId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
filename
: Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Speichert in einen Dateipuffer geschriebene Daten mit 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 Ziel muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Der optionale Parameter filename
, kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Dateinamen zu überschreiben, wenn dieser im 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 Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration. 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
// Write the variable "contents" to the file specified by
// the FTP Write activity "FTP Files"
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
contents);
// Flushing (actually writing) to the activity
FlushFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>");
// Write to another file (overriding the filename in the target)
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
contents, "test.txt");
// Flushing the "test.txt" file explicitly
FlushFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>",
"test.txt");
ReadFile
Erklärung
string ReadFile(string sourceId[, string fileFilter])
Syntax
ReadFile(<sourceId>[, <fileFilter>])
Erforderliche Parameter
sourceId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
fileFilter
: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Liest den Inhalt einer Datei aus einer Quelle.
Die in diesem Funktionsaufruf verwendete Quelle muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Die Methode gibt den Inhalt der Datei zurück, auf die die Quelle verweist. Wählt der Quellfilter mehrere Dateien aus, 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 Aktivitätskonfiguration verwendeten Dateifilter zu überschreiben. Es kann ein Dateiname verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Wenn die ReadFile()
Funktion fehlschlägt, schlägt der Operation nicht fehl. Ein Script wird abgebrochen, eine Warnung wird zum Operation 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 bei Dateien mit binärem Inhalt nicht zuverlässig, da sie in der Regel nur einen Teil der Datei liest. Bei Dateien mit binärem Inhalt verwenden Sie die Funktion Base64EncodeFile-Funktion, um stattdessen den gesamten Dateiinhalt zu lesen.
Beispiele
$fileContents = ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>")
WriteFile
Erklärung
void WriteFile(string targetId, type fileContents[, string filename])
Syntax
WriteFile(<targetId>, <fileContents>[, <filename>])
Erforderliche Parameter
targetId
: Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist
Optionale Parameter
fileContents
: In die Datei zu schreibende Datenfilename
: Dateiname zum Überschreiben der Aktivitätskonfiguration
Beschreibung
Schreibt die fileContents
zum Ziel, das durch targetId
. Wenn fileContents
ist vom Typ „Binär“, werden die Binärdaten in die Datei geschrieben. In allen anderen Fällen wird eine Zeichenfolgendarstellung der Daten geschrieben.
Das in diesem Funktionsaufruf verwendete Ziel muss als Aktivität definiert sein, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist. Dazu gehören konfigurierte Aktivitäten für Dateifreigabe, FTP, HTTP, lokalen Speicher und temporären Speicher. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints unter Endpoints Abschnitt in Jitterbit Script.
Der dritte Parameter, filename
ist optional und kann verwendet werden, um den in der Aktivitätskonfiguration verwendeten Dateinamen zu überschreiben. Alternativ kann eine globale Variable verwendet werden, um den Dateinamen in der Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name]
in der Aktivitätskonfiguration.
Diese Methode kann auch zum Schreiben/Veröffentlichen von Daten an ein HTTP-Ziel verwendet werden. In diesem Fall $jitterbit.target.http.*
Variablen werden ausgefüllt.
Wenn die WriteFile()
Funktion fehlschlägt, schlägt der Operation nicht fehl. Ein Script wird abgebrochen, eine Warnung wird zum Operation 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 eigentliche Dateitypziel geschrieben, wenn es geleert wird. Ein Dateipuffer wird eindeutig durch das Ziel (und möglicherweise die filename
); beispielsweise kann dasselbe Ziel zum Schreiben in verschiedene Dateien im selben Verzeichnis verwendet werden, indem ein Dateiname angegeben wird und jeder Dateipuffer separat ist.
Bei einer Transformation werden die Dateien nicht wirklich 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 FlushFile
oder FlushAllFiles
heißt. Verwenden Sie DeleteFile
oder DeleteFiles
um vorhandene Dateien vor dem Leeren zu entfernen.
Beispiele
// Write "contents" to a file in an activity
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", contents);
// Use the filename "test.txt" instead of
// what is defined in an activity
WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", contents, "test.txt");