SearchDatastore

Mit dem Step SearchDatastoreopen in new window kann man Datensätze aus einem Datastore exportieren. Durch verschiedene Parameter kann man eingrenzen, welche Datensätze exportiert werden.  Das Ergebnis ist ein sogenanntes Spreadsheet, welches im Anschluss weiterverarbeitet werden kann.

Wir empfehlen in diesem Zusammenhang auch den Eintrag Datastore Import und Export.

Konfiguration

NameDatentypBeschreibungWerte
datastoreNameSTRINGName des zu durchsuchenden Datastores.
filterFolderSTRINGLISTDer zu durchsuchende Folder.
Wenn leer, werden alle folder durchsucht.

Master filter (filterMatchingStatus)STRING

Nur anwendbar in Child-Datastores.
Damit kann man sich in einem Child-Datastore wahlweise nur die Datensätze anzeigen lassen, die korrekt mit einem Datensatz im Master-Datastore verknüpft sind oder die nicht verknüpft sind.

  • All (Standardwert)
  • With masters
  • Without masters
Child filter (filterOffers)STRINGNur anwendbar in Master-Datastores.
Damit kann man sich in einem Master-Datastore wahlweise alle Datensätze anzeigen lassen, die mindestens ein Child-Datensatz in einem Child-Datastore haben oder die keine Child-Datensätze haben.
  • all (Standardwert)
  • Items with children
  • Items without children
display children (showOffers)STRING

Nur anwendbar bei Master-Datastores.
Damit kann man einstellen, ob man unter jedem Master-Datensatz  die verknüpften Child-Datensätzen ausgegeben haben möchte oder nicht. Das Ausgabe-Spreadsheet ist dabei 2-stufig, d.h. jeder Master-Datensatz-Zeile folgen die Child-Datensatz-Zeilen.

  • show children
  • hide children (Standardwert)
search for (filterIncludeVariants)STRING

Mit dieser Option kann man die Anzeige der Ausgabe von Parent- und Variant-Zeilen beeinflussen.

both (unordered) - Zeigt Parent- und Variant-Zeilen, allerdings ungeordnet (sehr schnell).
parents (show variants) - Die Varianten werden immer unter der verknüpften Parent-Zeile ausgegeben (2-stufig) (wesentlich langsamer).
ParentsOnly - Zeigt nur Parent-Zeilen aber keine Varianten-Zeilen.
variantsOnly - Zeigt nur Varianten-Zeilen.
Variants or Parents Without Variants - Zeigt entweder nur Varianten-Zeilen, oder Zeilen, die keine Varianten haben.

  • Both (unordered)
  • Parents (show variants)
  • Parents Only
  • Variants Only
  • Variants or Parents Without Variants
Level Filter (filterShowParentsWithVariants)STRING

Parents with variants - Zeigt nur Parent-Zeilen, die auch Varianten haben.
Parents without variants - Zeigt nur Parent-Zeilen, die keine Varianten haben.
All - Zeigt alle Datensätze, egal ob mit oder ohne Varianten-Zeilen.

  • All (Standardwert)
  • Parents with variants
  • Parents without variants
flowRunSTRING

Zeigt nur Datensätze, die von einer bestimmten Flow-Run-ID markiert wurden. (Beim Import mit dem DatastoreWriter wird jeder "angefasste" Datensatz mit der Run-ID des Flows markiert)

Dieser Filter ist sehr praktisch, um sich alle Datensätze zu holen, die durch den aktuellen Flow markiert wurden.
In 99% der Fälle verknüpft man dazu diese Option mit der Runtime-Flow-Variable "flow_run_id" (siehe Laufzeit-Eigenschaften)

Wozu ist das nützlich? Oft wird das dazu genutzt, Datensätze zu identifizieren, die durch die aktuelle Flow-Ausführung "angefasst" oder "nicht angefasst" wurden.
Siehe auch diesen Cookbook Eintrag Wie finde ich Datensätze, die gestern importiert wurden, aber heute nicht mehr mit mitkommen?


flowRunCompareSTRING

Bezieht sich auf die vorherige Option flowRun.
Damit gibt man an, ob der Vergleich der Run-ID am Datensatz gleich oder ungleich der gegebene flow_run_id ist.


EQUALS - Vergleich der flow_run_id auf Gleichheit.
NOT EQUALS -Vergleich der flow_run_id auf Ungleichheit.

  • EQUALS (Standardwert)
  • NOT EQUALS
filterIdentifierSTRING

Gibt den Datensatz aus, der im Feld identifier den eingegeben Wert hat.
Sollte es mehrere Datensätze mit dem gleichen identifier, aber in unterschiedlichen foldern geben, dann kann es auch sein, dass mehrere Datensätze ausgegeben werden (nur wenn filterFolder oben leer ist). Wenn filterFolder angegeben ist, kommt max. 1 Ergebniszeile zurück.

Wird meistens nur zum Debugging verwendet.


filterIdentifier2STRING

Wie filterIdentifier, aber für Datastore-Spalte identifier2. Meistens nutzt man identifier2, um zusätzliche Identifikations-Nummern wie EAN oder Lieferantenartikelnummer für einen Datensatz zu hinterlegen.


filterIdentifier3STRINGWie filterIdentifier, aber für Datastore-Spalte identifier3. Meistens nutzt man identifier2, um zusätzliche Identifikations-Nummern wie EAN oder Lieferantenartikelnummer für einen Datensatz zu hinterlegen.
processingStatusSTRING

Gibt Datensätze im entsprechenden ProcessingStatus zurück.

Wie funktioniert das? Jeder Datensatz hat ein Feld ProcessingStatus, welches die Werte UNPROCESSED, INPROCESS or PROCESSED_SUCCESS, PROCESSED_ERROR haben kann. Dies kann man frei festlegen. Gedacht ist dieses Feld, um einen Bearbeitungslebenszyklus eines Datastores zu markieren. Gerade wenn ein Datensatz von mehreren Prozessen "angefasst" wird, ist es notwendig zu markieren, in welchem Prozessschritt sich der Datensatz befindet.  

Beim Import in den Datastore (Insert oder Update) kann man im DatastoreWriter Step angeben, welchen ProcessingStatus die "angefassten" (Insert oder Update) Datensätze bekommen sollen.


  • All (Standardwert)
  • UNPROCESSED
  • INPROCESS
  • PROCESSED_SUCCESS
  • PROCESSED_ERROR
filterDateSTRING

Ein optionaler Datumsfilter. Hier stellt man das Datumsfeld des Datensatzes ein, nach welchem gefiltert werden soll. (Insert Datum, Update Datum, Processing Datum, Last Content Change Date)

Mit den nachfolgenden Optionen dateFrom und dateTo, kann man

  • --none--
  • Insert Date
  • Update Date
  • Processing Date
  • Last Content Change Date
dateFromDATETIMEStart-Datum bezogen auf das in filterDate eingestellte Datumsfeld. z.B. 18.12.2016 16:00
dateToDATETIMEEnd-Datum bezogen auf das in filterDate eingestellte Datumsfeld. z.B. 20.12.2016 16:00
Leer lassen um bis "jetzt" (aktueller Zeitpunkt) zu filtern.

sortByFieldSTRINGOptional: Damit kann man das Feld für die Sortierung der Ergebnisse einstellen.
  • --none--
  • identifier
  • identifier2
  • identifier3
  • Created Date
  • Update Date
  • Last Content Change Date
  • Processing Date
  • Folder
sortDirSTRINGDie Sortierrichtung (aufsteigend, absteigend) bezogen auf der sortByField.
  • Ascending
  • Descending
limitSTRING

Limitiert die Anzahl der Zeilen.
Standardwert: leer, bedeutet unbegrenzt.

Wichtig bei umfangreichen Datastores mit tausenden / Millionen von Datensätzen:
Stellen Sie das Limit bei Tests und Arbeit mit Flows immer explizit auf einen niedrigen Wert z.B. 100. Das beschleunigt das Ganze sehr. Ansonsten werden Sie lange Wartezeiten oder Timeout-Fehler sehen.