Beispiel 2 - FTP Import einer CSV Datei in einen Datastore

Tipp

Wir empfehlen die Durcharbeitung des Beispiel 1 - Der erste Flowopen in new window, bevor Sie dieses Beispiel angehen.

Ausgangssituation

Sie sind Besitzer eines Webshops und möchten Artikeldaten aus einer CSV-Datei in ein externes System einspielen. Die CSV Datei wird über einen FTP Server bereitgestellt. Sie lernen wie sie die CSV in Synesty Studio importieren, um sie von dort aus in das externe System zu übertragen. Mit Synesty Studio erstellen einen Flow der diese Aufgabe erledigt und anschließend stündlich automatisiert wird.

Ziel

Automatisierung des CSV-Datei Downloads vom FTP Server und Import in Synesty Studio zur Weiterverarbeitung.

Vorbetrachtung

Um die Daten für verschiedene externe andere Systeme aufzubereiten, empfiehlt es sich diese zuerst in einen Data Stores in Synesty Studio zu importieren. Sobald die Daten importiert sind kann man diese mit weiteren Flows aufbereiten und zu anderen externen Systemen wie z.B. Marktplätzen exportieren. Einmal aufgesetzt lassen sich diese Prozesse automatisieren.

Informationen zur Formatierung

Ausgangsdatei example-articledata.csv

"identifier";"brandname";"name";"description"
"1";"K-Star";"Super Shoe XI", "Description of Super Shoe XI"
"2";"3-Stripes";"Vintage", "Description of Vintage. ..."

Beispieldatei herunterladenopen in new window

Initialimport manuell

Loggen Sie sich ein und klicken Sie auf 'Data Management'. Dort finden Sie den blauen Button 'Datastore erstellen'. Aktivieren Sie das Dropdown-Menü durch einen Klick und wählen Sie die Option 'Neuer Datastore aus CSV-Daten' aus.

Geben Sie einen Namen für den anzulegenden Datastore ein und wählen Sie die zu importierende CSV Datei.

Anschließend müssen wichtige Spalten zugeordnet werden (auch "gemappt" genannt). D.h. Sie müssen Spalten aus ihrer CSV folgenden Spalten zuordnen:

  • folder (wie ein Verzeichnis, z.B. Markenname)
  • identifier (eindeutiger Bezeichner z.B. Artikelnummer)

Lassen Sie in diesem Beispiel folder leer und mappen Sie die Spalte identifier ihrer CSV Datei auf die Spalte identifier.

Alle weiteren Spalten lassen sie unverändert und klicken auf , um den Import zu starten.

Daraufhin befinden Sie sich im Datastore und sehen Ihre importierten Artikel.

Damit sind im Hintergrund zwei Dinge passiert:

  1. Es wurde ein Schema (eine Spaltenbeschreibung) angelegt, mit allen Spalten aus der CSV-Datei.
  2. Und es wurde ein Datastore auf Basis des Schemas angelegt.

Import automatisieren

Um diesen eben manuell ausgeführten Prozess nun zu automatisieren erstellt man im Studio einen Flow. In einem Flow kann durch Aneinanderreihung von Steps bestimmte Prozessketten erzeugen und diese automatisiert ausführen lassen. In unserem Beispiel erstellen wir einen Flow mit 4 Steps:

  1. Datei vom FTP-Server herunterladen.
  2. Datei einlesen.
  3. Datei für Import aufbereiten und Spalten mappen.
  4. Datei in Datastore importieren.

Für diese Aufgabe existiert eine Vorlage, die Sie über das Dashboard erreichen:

Daraufhin wird ein Projekt mit 3 Flows erstellt, die schon alle benötigten Steps enthalten und die Sie jetzt noch konfigurieren müssen. Kopieren Sie die Testdatei von oben in das Stammverzeichnis ihres FTP-Servers. Klicken Sie folglich auf den FTPSingleFileDownload Step des FTP-Import Flows und passen Sie die Variablen an. Bei der Account Variable müssen Sie zusätzlich noch die Verbindung konfigurieren.

Durch Klick auf das Symbol des FTPSingleFileDownload Steps können Sie testen, ob die Datei korrekt heruntergeladen werden kann. Ob die Datei richtig geparsed werden kann, testen Sie durch Klick auf im zweiten SpreadsheetCSVReader Step. Da in unserer Beispieldatei Semikolon als Spaltentrenner verwendet wird, sollten die Standardeinstellungen dieses Step bereits passen.

Konfigurieren Sie anschließend den SpreadsheetMapper Step durch Klick auf das  Symbol. In dem sich öffnenden Dialog klicken Sie auf Konfigurieren.

Da in der Previewansicht nicht sofort alle vorherigen Steps ausgeführt werden, fehlen initial die Daten, die anzeigbar wären. Kicken Sie auf Daten aus vorherigen Steps holen, um vorherige Steps auszuführen. Dadurch wird in diesem Beispiel die Datei vom FTP heruntergeladen und geparsed.

Daraufhin sehen Sie eine Vorschau der Spalten der heruntergeladenen CSV Datei.

Da wir aber die Daten in ein bereits existierenden Datastore importieren wollen, müssen zuerst die für diesen Datastore notwendigen Spaltendefinitionen über Spalten / Schema laden geladen werden. Das ist notwendig damit der Import weiss in welchen Datastore importiert werden soll und welche Spalten den eindeutigen Identifier enthalten (folder und *identifier *Spalte).

Wählen Sie den Artikeldaten Schema, füge den Haken unter "Identifier Spalten für Datastore Import hinzufügen" und klicken auf Schema laden.

Daraufhin sehen Sie das Mapping mit zusätzlichen Spalten, die für einen Datastore Import notwendig sind (u.a. folder, identifier und identifier2). Im Beispiel genügt es die CSV-Spalte identifier auf die Input Spalte identifier zu mappen.

Kontrollieren Sie die restlichen Spalten Mappings durch scrollen nach rechts, aber ignorieren sie folgende Spalten: datastorename, folder, identifier2, identifier3, datastoretags, parent_identifier, master_folder, master_identifier. Auf deren Bedeutung gehen wir in einem anderen Beispiel ein.

Wenn es so aussieht wie im Screenshot, dann ist das Import-Mapping fertig und sie können durch Klick auf Konfiguration abschließen die Konfiguration beenden, und wieder zum Flow zurückkehren.

Abschließend fehlt noch die Konfiguration des letzten DatastoreWriter Step. Dort fehlt noch die Angabe des Ziel-Datastores, in den importiert werden soll. Wählen Sie den Datastore Artikeldaten und klicken auf Step speichern.

Damit ist die Konfiguration des aller Steps abgeschlossen, und die gelbe Umrandung sollte bei alle Steps verschwunden sein. Das bedeutet, dass alle Pflichtfelder ausgefüllt wurden.

Erster Test
Durch Klick auf Flow ausführen, führen sie den Flow aus.

Durch Klick auf die Datastore Artikeldaten können Sie den Import kontrollieren. Da die Daten zu Beginn dieses Beispiels bereits manuell importiert wurden, sollten sie 2 Updates sehen, was sich im Updated Zeitstempel im Datastore widerspiegeln sollte.

Automatisieren des Projekts

Wenn gesichert ist das alles wie gewünscht funktioniert, können Sie das Projekt nun automatisieren. Klicken sie dazu auf den Planen Button des Flows und setzen dort die Startzeit, Interval und den Status auf Active

Damit ist der der Flow "scharf" geschaltet und läuft zum ersten Mal zur gewünschten Startzeit. Über das Event Log können sie die Runs beobachten.

E-Mail Benachrichtigung

Neben dem Dashboard und dem Eventlog haben Sie auch noch die Möglichkeit per E-Mail über fehlgeschlagene Flow Runs informieren zu lassen. In ihren Account-Settings können sie diese Einstellung aktivieren. Dabei können Sie zwischen zwei Möglichkeiten wählen:

1. tägliche Zusammenfassung
2. sofortige Benachrichtigung

Zusammenfassung

In diesem Beispiel haben Sie gelernt wie Sie eine CSV Datei über einen FTP Server in Synesty Studio importieren. Im Beispiel lernen Sie, wie sie diese importierten Daten weiterverarbeiten und z.B. in ein Drittsystem exportieren können.

Wir hoffen dieses ausführliche Beispiel war für sie hilfreich. Bei Fehlern oder Fragen wenden sie sich an support@synesty.com