Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleDatastore und Schema anlegen / erweitern

Wenn der Datastore vor dem Import noch nicht existiert, dann wird dieser automatisch zusammen mit einem Schema angelegt. Das Schema bekommt dann automatisch alle Spalten des zu importierenden Spreadsheets. Über die Option autoExtendSchema kann das Schema automatisch erweitert werden, sobald neue Spalten im Spreadsheet dazu kommen.

 

 



Einsatzgebiete

Der Step SpreadsheetDatastoreWriter befindet sich meist am Ende eines Flows bzw. nach einem SpreadsheetMapper, wenn die Daten schlussendlich gespeichert werden sollen. Ein typischer Flow sieht ungefähr so aus:
 

 


Einfacher Import

Damit etwas importiert werden kann, muss das Spreadsheet mindestens über folgende zwei Spalten verfügen (siehe Datastores):

  • identifier
  • folder (optional: wenn leer wird automatisch "default" gesetzt)

...


Info
titleSchreibweise beachten

Achten Sie darauf, dass die beiden Spalten exakt so geschrieben werden (alles Kleinbuchstaben).

...


Über diese zwei Spalten wird jeder Datensatz eindeutig identifiziert. Vorstellen kann man sich das mit Verzeichnissen und Dateien in einem Dateisystem.
Folder entspricht einem Verzeichnis und identifier entspricht der Datei.  
Ein identifier darf pro folder nur 1x verwendet werden. Ansonsten gibt es einen Fehler. Mit anderen Worten: Ein Datensatz ist eindeutig durch folder + identifier.

...

Sollte das Spreadsheet diese Spalten noch nicht haben, könnte man mit dem Mapper SpreadsheetMapper dieser Spalte erzeugen. 

identifier-Spalten manuell definieren

...

Warning

Sollte das zu importierende Spreadsheet keine identifier-Spalte haben (z.B. weil Sie vergessen haben eine zu definieren), dann bricht der Flow mit Fehlermeldung ab:

Fall 1: No 'Artikelnummer' column in Spreadsheet. This column should be present and filled with a unique identifier of the record (e.g. productID).

  • hier wurde identifierColumn=Artikelnummer definiert, aber das Spreadsheet hat gar keine Spalte mit dem Namen Artikelnummer
  • Lösung: fügen Sie dem Spreadsheet eine Spalte mit dem Namen 'Artikelnummer' hinzu, oder korrigieren Sie den Wert von identifierColumn

Fall 2: No 'identifier' column in Spreadsheet. This column should be present and filled with a unique identifier of the record (e.g. productID).

 

  • hier wurde identifierColumn vermutlich leer gelassen, weshalb der Import eine Spalte mit dem Namen 'identifier' erwartet. Diese scheint im Spreadsheet aber nicht vorhanden zu sein.
  • Lösung: 
    • a) fügen Sie dem Input-Spreadsheet eine Spalte mit dem Namen 'identifier' hinzu,
    • b) oder: definieren Sie per identifierColumn eine Spalte, die einen eindeutigen identifier enthält (z.B. eine EAN)
      • falls Sie eine Mappingdefinition direkt im SpreadsheetDatastoreWriter Step definiert haben (z.B. einmal auf Configure gedrückt), dann wird die Spalte darin erwartet. Ansonsten muss die Spalte im Input-Spreadsheet vorhanden sein.

 



Erweiterter Import

Der SpreadsheetDatastoreWriter bietet noch weitere Optionen, um komplexere Import-Szenarien abzubilden. 

...

  • Spalten identifier2 bereits im Spreadsheet vorhanden
  • oder sie Sie geben über das Inputfeld identifier2Column den Spaltennamen an, der den identifier2 enthält.  

...

Dazu muss im Import-Spreadsheet eine weitere Spalte mit dem Namen parent_identifier eingefügt werden.
Diese Spalte muss mit dem identifier der Parent-Zeile gefüllt werden wie z.B.:

identifierfolderparent_identifier
1default
 

1adefault1
1bdefault1

 



Die Daten werden daraufhin in den Datastore importiert. Die Variant-Datensätze sollten dann an den entsprechenden Parent-Datensätzen hängen. 

Wenn der Import korrekt funktioniert hat, dann sollten das in der Datastore-Suche wie folgt aussehen: 

Ansicht eines Artikels mit 2 Varianten in der Datastore Suche

Detail-Ansicht eines Artikels mit 2 Varianten

 


Info
titleHinweis

Datensätze mit Parent-Variant Beziehung basieren auf der Annahme, dass Parent-Datensatz und Variant-Datensatz im gleichen Datastore und im gleichen Folder liegen.

 

 

...