Hallöchen zusammen,
wir haben in unseren Flows zum Aktualisieren von Shopify-Artikeln ein Problem damit, die aktualisierten Artikel als „fertig“ zu markieren.
Da sich mehrere Stores, die über verschiedene Verbindungen laufen, an demselben Datastore bedienen, können wir nicht mit dem Processing Status arbeiten.
Wir behelfen uns daher mit einer Spalte „Shops2Update“ im Datastore, die mit einer kommagetrennten Liste von Shop-Kürzeln gefüllt wird, wenn ein Artikel in bestimmten Shops aktualisiert werden soll.
So werden nur diejenigen Artikel an Shopify geleitet, die das entsprechende Shop-Kürzeln hinterlegt haben.
Dieses Kürzel soll auf Basis des „successfullyUpdatedProductInformation“-Outputs des „shopifyUpdateProductInformation“-Steps am Ende des Flows entfernt werden.
Da der identifier im Datastore unsere interne Artikelnummer ist, nutzen wir ein KeyValueSpreadsheet, um die Zuordnung zur entsprechenden Shopify Product-ID vorzunehmen.
Das KeyValueSpreadsheet wird für alle „geeigneten“ Artikel des Shops angelegt (maximal ~13000).
Key ist die im Datastore hinterlegte Shopify-ID des entsprechenden Shops, Value ist unsere Artikelnummer.
Im DatastoreWriter wird die Artikelnummer aus dem KeyValueSpreadsheet herausgesucht und als identifier genutzt.
Hier kommt es nun häufiger vor, dass wir die Warnung
Error writing to datastore in row X (identifier: ): Identifier must not be null or empty.
erhalten.
Wenn diese Warnung auftritt, sind es immer genau 11 Errors. Welche 11 Artikel das sind, können wir aufgrund des „fehlenden“ identifiers leider nicht nachvollziehen.
Auch ist uns aufgefallen, dass in diesen Fällen weniger Artikel überschrieben werden, als ursprünglich aktualisiert worden sind.
Manche Flows laufen auch ohne die Warnung durch.
Da es einen StopFlowIf gibt, der greift, wenn es keine zu aktualisierenden Artikel mehr gibt, können wir nachvollziehen, dass scheinbar trotzdem alle Artikel ihr Update bekommen, da die Stopp-Bedingung irgendwann anspringt.
Lange Rede, kurzer Sinn: wo liegt der Fehler/das Problem, dass wir die o.g. Warnung erhalten? ODER ist es nur ein Darstellungsfehler/Bug beim Log des DatastoreWriter-Steps, da trotzdem alle Artikel den Marker entfernt bekommen?
Ich hoffe, man konnte die Erklärung einigermaßen nachvollziehen
Liebe Grüße und danke für jede Hilfe!