Zum Inhalt springen

Dateifunktionen im Jitterbit Integration Studio

Dateifunktionen ermöglichen Scripts die Bearbeitung von Dateien auf Agenten, die über konfigurierte dateibasierte Aktivitäten verfügbar sind, die als Quellen oder Ziele verwendet werden können.

Hinweis

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

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 ist**
  • targetId:** Ein String-Referenzpfad zu einer Aktivität, die mit einem Dateityp-Endpoint im aktuellen Projekt verknüpft ist

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 Quellaktivität vom Dateityp und schreibt sie in eine Zielaktivität vom Dateityp. 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 verwendete Quelle und das Ziel müssen als Aktivitäten definiert sein, die mit Dateityp-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, 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 die WriteFile Funktion, 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.

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 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 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, falls welche gefunden werden, basierend auf dem Dateifilter der Aktivitätskonfiguration. 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 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ätskonfiguration**
  • fileFilter:** 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ätskonfiguration
  • fileFilter: Dateifilter oder Dateiname zum Überschreiben der Aktivitätskonfiguration

Beschreibung

Gibt eine Liste der in einer Quelle enthaltenen Dateinamen zurück. Dies ist dieselbe 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 zurück, das die Dateinamen enthält, 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

Behält in einen Dateipuffer geschriebene Daten bei 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 heißt 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 für alle als Ziele verwendeten Aktivitäten werden auf ihren jeweiligen Zielen beibehalten.

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

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 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 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 Aktivitätskonfiguration zu überschreiben. Globale Variablen werden wie folgt referenziert: [de_name] in der Aktivitätskonfiguration. Wenn ein Override-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. 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 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, 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 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 Daten
  • filename: Dateiname zum Überschreiben der Aktivitätskonfiguration

Beschreibung

Schreibt der fileContents zum Ziel, das 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 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 verwendet werden, um Daten an ein HTTP-Ziel zu schreiben/zu posten. 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, 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 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");