Hallo Team,
Ich habe einen Splitter, der aus dem Mepper mehr als 1000 rows bekommt.
Fehlermeldung:
Error SpreadsheetSplitter: Maximal number (1000) of spreadsheets reached. Please increase maxNumberRows per spreadsheet. (Root Causes: RuntimeException: Error SpreadsheetSplitter: Maximal number (1000) of spreadsheets reached. Please increase maxNumberRows per spreadsheet. RuntimeException: RuntimeException: Error SpreadsheetSplitter: Maximal number (1000) of spreadsheets reached. Please increase maxNumberRows per spreadsheet.)
Leider finde ich nirgendwo die „maxNumberRows“.
Ist das interne Einstellung, oder kann ich das irgendwo setzen?
das ist die Anzahl der Zeilen die in jedem neuen Spreadsheet gesetzt werden.
Bei mir steht aktuell 1, weil ich pro Zeile eine Spreadsheet und dann Datei exportiere/erzeuge.
Das ganze funktioniert super, sobald Splitter weniger/gleich 1000 Zeilen bekommt.
Ab 1001 kommt die Fehlermeldung
ok, jetzt habe ich auch die Fehlermeldung oben verstanden. Das Problem sind nicht die mehr als 1000 Datenzeilen an sich, sondern eher dass jede Datenzeile in einem seperaten Spreadsheet landen soll. Das ist dann wohl irgendeinen Form von internen Limit seitens Synesty, dass die SpreadsheetList auf 1000 Einträge beschränkt.
Jetzt frage ich mich aber, was du mit den mehr als 1000 Spreadsheets vor hast. Ich vermute mal, du hast irgendeine Form von Schleife, in der die Spreadsheets verarbeitet werden?
Kannst du in der Schleife nicht einfach über die Zeilen in den Eingangsdaten interieren, statt über die gesplitteten Spreadsheets?
Ich hole via rest api 100 Produktdaten pro call. Da nutze ich die ‚nextUrl‘. Die Daten landen dann alle in einem Spreadsheet, und werden in vielen Mapper angereicht. Dann im Splitter wird ein Spreadsheet für jede Zeile erzeugt. Die maximale Anzahl von Spreadsheets (1000) wird erreicht und ein Fehler wird geworfen.
So was wie Schleife, ist meines Wissens, im Synesty nicht möglich (leider)
eine übliche Schleife à la „Führ Schritt 3,4 und 5 für jedes Spreadsheet in Liste X aus“ gibt es nicht, korrekt. Aber in manchen Steps gibt es ja schon die Möglichkeit, irgendeine Aktion pro Zeile zu wiederholen. Auf die Schnelle fällt mir da der SpreadsheetURLDownloader oder TextHTMLWriterMultiOutput ein. Damit kannst du ja pro Zeile im Spreadsheet einen URL aufrufen oder aber eine TextHTMLOutput erstellen.
Wie möchtest du denn die 1000 Spreadsheets weiterverarbeiten?