Zum Inhalt springen

Connector-Tutorial-Szenario 3: Datei ablegen

Lesen Sie eine Textdatei von einem FTP Server und legen Sie sie in Dropbox ab

Dieses Szenario demonstriert die Verwendung einer Dropbox Put File-Aktivität. In diesem Beispiel wird eine Textdatei von einem FTP gelesen. Server und wird dann in Dropbox abgelegt (geschrieben). Wie Szenario 2: Datei abrufen, wird die Datei als Textdatei und nicht als XML-Datei mit kodiertem Inhalt und Metadaten abgelegt.

Hierfür benötigen Sie eine Textdatei im Pfad / auf Ihrem FTP Server. Jede Textdatei ist geeignet, oder Sie können die Beispieldatei customers.csv bereitgestellt in assets/sample-data directory von die Quelldateien des Dropbox-Connectors.

In diesem Szenario setzt ein Script zunächst globale Variablen mit einem Dateipfad und einem Dateinamen und liest von einem FTP Server in eine globale Variable mit dem Dateiinhalt festlegen. Die Transformation schreibt diese Variablen dann mit einem Put-Befehl in Dropbox. Dateiaktivität („Dropbox Put File“).

Hier ist der abgeschlossene Operation:

1. Beispieldatei in Dropbox kopieren

Kopieren Sie die Beispieldatei (customers.csv) aus dem assets/sample-data directory des Dropbox-Connectors zu Ihrem Dropbox-Konto.

2. Einen neuen Workflow erstellen

Beginnen Sie mit einem neuen Workflow im aktuellen Projekt. Sie können Komponenten aus den vorherigen Szenarios wiederverwenden, aber ein neuer Der Workflow erleichtert die Trennung der Vorgänge.

3. Hinzufügen eines Script zu einer Operation

Fügen Sie einem neuen Operation ein Script hinzu. Bearbeiten Sie das Script und geben Sie ihm den Namen „Read FTP to Vars“.

Legen Sie den Inhalt des Jitterbit Script wie folgt fest:

<trans>
$ftpPath = "/";
$ftpFilename = "customers.csv";
$ftpContents = ReadFile("<TAG>activity:ftp/FTP/ftp_read/Read</TAG>");

WriteToOperationLog("Read from path " + $ftpPath);
WriteToOperationLog("Read file " + $ftpFilename);
WriteToOperationLog("Read " + Length($ftpContents) + " bytes");

$dropboxPath = $ftpPath;
$dropboxFilename = CVTDate(Now(), "GeneralDate", "yyyy_mm_dd_HH_MM_SS")
    + "_" + $ftpFilename;
$dropboxFilepath = $dropboxPath + $dropboxFilename;
$dropboxContents = Base64Encode($ftpContents);

WriteToOperationLog("DropboxFilename: " + $dropboxFilename);
</trans>

Dadurch wird die Textdatei gelesen und mit Base-64 kodiert. /customers.csv vom FTP Server. Passen Sie die Variablenwerte nach Bedarf an, wenn sich Ihre Datei an einem anderen Speicherort oder unter einem anderen Namen befindet.

Schließen Sie das Script, um zum Workflow zurückzukehren.

4. Fügen Sie der Operation eine FTP Leseaktivität hinzu

Verwenden Sie den FTP Endpoint namens “FTP”, den Sie für dieses Tutorial konfiguriert haben (siehe Tutorial-Szenarien im Tutorial zum Dropbox-Connector), ziehen Sie einen FTP Read Aktivitätstyp zu einer Komponenten-Drop-Zone in der neuen Operation, nach dem Script.

Konfigurieren Sie es wie folgt:

  • Name: Geben Sie „Lesen“ ein
  • Pfad: Geben Sie eine globale Variable mit dem Namen ein [ftpPath]
  • Dateien abrufen: Geben Sie eine globale Variable mit dem Namen ein [ftpFilename]

Klicken Sie auf Weiter und dann auf Fertig, um zum Workflow zurückzukehren.

5. Fügen Sie der Operation eine Dropbox Put File-Aktivität hinzu

Ziehen Sie den Aktivitätstyp „Dropbox Put File“ aus der Komponentenpalette in die Operation nach der Aktivität „FTP Read“.

Konfigurieren Sie den Dateinamen als [dropboxFilename]:

Klicken Sie auf Weiter und dann auf Fertig, um zum Workflow zurückzukehren.

6. Fügen Sie der Operation eine Transformation hinzu

Fügen Sie vor der Aktivität „Dropbox Put File“ eine Transformation hinzu.

Wenn die Transformation geöffnet wird, geben Sie ihr einen Namen (z. B. “Vars to Put”) und fügen Sie Scripts auf der path Und content Zielfelder zur Abbildung der globalen Variablen dropboxFilepath Und dropboxContents zu jedem entsprechenden Feld.

Nach Abschluss sollten die zugeordneten Zielfelder folgendermaßen aussehen:

7. Ausführen des Operation

Kehren Sie zum Workflow zurück und einsetzen Sie den Operation aus. Sobald der Operation abgeschlossen ist und die Datei in Dropbox, sollten Sie Protokollmeldungen wie diese im Operation sehen, wobei die Datei erfolgreich aus dem FTP Server zu Dropbox:

Variationen

Sie können dieses Beispiel ändern, um Probleme zu untersuchen, die Entwickler von Konnektoren berücksichtigen müssen.

Beispielsweise könnte man das Pfadfeld in der Transformation auf eine leere Zeichenfolge setzen und dann im Feld “Dropbox Put Datei”-Aktivität liefert den Pfad entweder über einen fest codierten Wert oder über eine bereits definierte Variable ($dropboxPath). Dadurch wird die Datei an den vom Script festgelegten Speicherort geschrieben.

Der Code für den Dropbox-Connector (put-file-request.xsd) erfordert, dass der Pfad definiert wird, wie durch das [1] links neben dem Feldnamen in der Transformation. Sie können jedoch verlangen, dass es stattdessen definiert wird in der Benutzeroberfläche für die Aktivität „Dropbox Put File“ durch Konfigurieren des Codes (adapter.json), das die Benutzeroberfläche beschreibt.

Im Fall des Dropbox-Connectors ist der Connector-Code (PutFileActivity.java) wird so geschrieben, dass die Die Definition in der Aktivität „Dropbox Put File“ hat, sofern angegeben, Vorrang vor dem Wert, der in der Transformation angegeben.

Welchen Ansatz Sie verwenden, hängt davon ab, wie ein Connector verwendet oder konfiguriert werden soll.