Connector SDK-Tutorial Szenario 2: Datei abrufen
Einführung
Dieses Szenario demonstriert eine weitere Verwendung der Dropbox Datei abrufen-Aktivität, die im Szenario 1: Datei abrufen erstellt wurde.
In diesem Szenario wird eine Datei von Dropbox abgerufen und der Inhalt dieser Datei wird zugegriffen und entschlüsselt. Diese Inhalte werden dann auf einen FTP-Server geschrieben.
Hinweis
Im Gegensatz zu Szenario 1 enthält die resultierende Textdatei nur den Inhalt der von Dropbox erhaltenen Datei, ohne die Metadaten.
Hier ist der abgeschlossene Vorgang:
Wichtig
Um diesen Vorgang und das Szenario abzuschließen, führen Sie die erforderlichen Vorbereitungen im Dropbox-Connector-Tutorial durch.
Sie sollten Folgendes haben:
- Zugriff auf ein Dropbox-Konto und einen FTP-Server.
- Konfigurierte Dropbox- und FTP-Connectoren.
- Zugriff auf das
assets/sample-data directory
des Dropbox-Connector-Repositorys.
1. Beispiel-Datei in Dropbox kopieren
Falls noch nicht vorhanden, kopieren Sie die Beispieldatei (customers.csv
) aus dem assets/sample-data directory
des Dropbox-Connectors in Ihr Dropbox-Konto.
2. Eine Dropbox Datei abrufen-Aktivität zu einem Vorgang hinzufügen
Fügen Sie eine Dropbox Datei abrufen-Aktivität zu einem neuen Vorgang hinzu.
Wie im Szenario 1 benötigen Sie eine Dropbox Datei abrufen-Aktivität. Sie können die Dropbox Datei abrufen-Aktivität aus dem ersten Szenario wiederverwenden oder eine neue erstellen.
Um die Aktivität aus dem ersten Szenario wiederzuverwenden, klicken Sie auf die Komponenten-Registerkarte im Projektbereich. Von dort aus können Sie die vorhandene Dropbox-Aktivität in einen neuen Vorgang ziehen.
3. Fügen Sie eine Transformation zur Operation hinzu
Fügen Sie eine Transformation nach der Dropbox Datei abrufen-Aktivität hinzu.
Bearbeiten Sie die Transformation, aber im Gegensatz zu Szenario 1 erstellen Sie ein neues flaches Schema (Schema definieren > Flach erstellen) mit zwei String-Feldern: einem name
-Feld und einem content
-Feld:
Sobald es erstellt ist, können Sie den Link Exakte Übereinstimmungen automatisch zuordnen verwenden, um die Quellfelder den Ziel-Feldern zuzuordnen.
4. Bearbeiten Sie die Ziel-Feldzuordnungen
Fügen Sie jedem Ziel-Feld ein Skript hinzu, um den Namen und den Inhalt in globale Variablen zu schreiben, und berichten Sie dann die Werte der globalen Variablen im Betriebsprotokoll.
Um ein Skript zu einem Ziel-Feld hinzuzufügen, fahren Sie mit der Maus über das Ziel-Feld, klicken Sie auf das -Symbol und wählen Sie Skript hinzufügen.
Für das name
-Feld geben Sie dieses Skript ein:
<trans>
$dropboxName = fetchFileResponse$name$;
WriteToOperationLog("Fetched from Dropbox: " + $dropboxName);
$dropboxName;
</trans>
Für das content
-Feld geben Sie dieses Skript ein:
<trans>
$dropboxContent = String(Base64Decode(fetchFileResponse$content$));
WriteToOperationLog("Decoded Dropbox file content: "
+ Length($dropboxContent) + " characters");
$dropboxContent;
</trans>
Wenn die Skripte angezeigt werden, sollten sie ähnlich wie folgt aussehen:
Das Skript des name
-Feldes nimmt den Namen aus der Antwort von Dropbox Datei abrufen, weist ihn einer globalen Variablen zu, schreibt eine Nachricht ins Betriebsprotokoll und setzt dann den Namen als Wert des Feldes.
Das Skript des content
-Feldes nimmt den Inhalt aus der Antwort von Dropbox Datei abrufen, decodiert ihn von Base64, weist ihn einer globalen Variablen zu, schreibt eine Nachricht ins Betriebsprotokoll und setzt dann den Inhalt als Wert des Feldes.
Diese Variablen sind jetzt verfügbar, um sie auf den FTP-Server zu schreiben. Wenn Sie fertig sind, kehren Sie zum Workflow zurück.
5. Fügen Sie ein Skript zur Operation hinzu
Fügen Sie ein Skript als Operation Schritt nach der Transformation hinzu. Es verweist auf die FTP Schreiben-Aktivität aus Szenario 1: Datei abrufen, wie unten gezeigt.
Geben Sie den Inhalt des Skripts (in Jitterbit-Skript-Sprache) ein:
<trans>
WriteToOperationLog("Received Dropbox file: " + $dropboxName + " "
+ Length($dropboxContent) + " characters");
WriteFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>",
$dropboxContent, $dropboxName);
FlushFile("<TAG>activity:ftp/FTP/ftp_write/Write</TAG>");
WriteToOperationLog("Wrote Dropbox file: " + $dropboxName);
</trans>
Wichtig
Der Name FTP
, der im obigen Codefragment verwendet wird, muss mit dem Namen der FTP-Verbindung übereinstimmen, und Write
muss mit dem Namen der FTP Write-Aktivität übereinstimmen, die in Szenario 1: Datei abrufen verwendet wird, um sie wiederzuverwenden.
Schließen Sie das Skript, um zum Workflow zurückzukehren.
6. Führen Sie die Operation aus
Implementieren und führen Sie die Operation aus. Bei Erfolg wird eine Datei auf dem FTP-Server mit demselben Namen und Inhalt wie die von Dropbox abgerufene Datei erstellt. Entsprechende Nachrichten werden im Betriebsprotokoll geschrieben: