Skip to content

Beispiel 2 - FTP Import einer CSV Datei in einen Datastore

Sie betreiben einen Webshop oder verwalten Produktdaten und erhalten regelmäßig eine CSV-Datei von einem Lieferanten oder einem anderen System, die über einen FTP-Server bereitgestellt wird. Diese Datei soll automatisch in Synesty Studio importiert und in einem Datastore gespeichert werden, von wo aus Sie sie für weitere Verarbeitungsschritte – z.B. den Export zu Marktplätzen oder anderen Systemen – nutzen können.

In diesem Tutorial lernen Sie, wie Sie diesen Import einmalig einrichten und anschließend vollständig automatisieren.

Nach diesem Tutorial haben Sie:

  • eine CSV-Datei manuell in einen Datastore importiert (Initialimport),
  • einen Flow erstellt, der die CSV-Datei automatisch vom FTP-Server herunterlädt und in den Datastore importiert,
  • den Flow so geplant, dass er z.B. stündlich automatisch ausgeführt wird.

Warum erst in einen Datastore importieren?

Section titled “Warum erst in einen Datastore importieren?”

Statt eine CSV-Datei direkt an ein Zielsystem zu übertragen, empfiehlt es sich, die Daten zunächst in einen Datastore zu importieren. Ein Datastore ist eine interne Datenbank in Synesty Studio.

Der Vorteil: Die Daten stehen danach als zentrale Datenquelle zur Verfügung und können von verschiedenen Flows für unterschiedliche Zielsysteme – z.B. mehrere Marktplätze gleichzeitig – verarbeitet werden. Zudem ermöglicht ein Datastore Vergleiche zwischen alten und neuen Daten (z.B. für Delta-Updates).

Beispieldatei herunterladen

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.

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 Vorschau Symbol des FTPSingleFileDownload Steps können Sie testen, ob die Datei korrekt heruntergeladen werden kann.
Step Vorschau Ob die Datei richtig geparsed werden kann, testen Sie dann durch Klick auf Auge Symbol 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.

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 Flow “scharf” geschaltet und läuft zum ersten Mal zur gewünschten Startzeit. Über das Event Log können Sie die Runs beobachten.

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

In diesem Tutorial haben Sie gelernt, wie Sie eine CSV-Datei über einen FTP-Server importieren und in einem Datastore speichern. Sie haben außerdem gesehen, wie Sie den Import automatisieren und sich bei Fehlern per E-Mail benachrichtigen lassen können.

Als nächsten Schritt empfehlen wir Beispiel 3, das zeigt, wie Sie die importierten Daten aus dem Datastore wieder als CSV-Datei auf einen FTP-Server exportieren.

Bei Fragen wenden Sie sich gerne an support@synesty.com.