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 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 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 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 Ist true wird die Datei von der Quelle zum Ziel archiviert (d. h. verschoben) und von der Quelle entfernt.
  • Wenn deleteSource Ist false 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ä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 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 Daten
  • filename: 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");