- Beiträge: 16
Json zusammenbauen. für Rest Adapter
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
5 Monate 4 Tage her - 5 Monate 4 Tage her #5133
von Dalibor Jurisic
Json zusammenbauen. für Rest Adapter - Beitrag(5133) wurde erstellt von Dalibor Jurisic
Hallo. ich kämpfe schon den ganzen Nachmittag um die passende Lösung hinzubekommen.
und zwar muss ich etwa 75000 Datensätze per REST Adapter an eine Endpunkt senden. Das mache ich aktuell mit curl was funktioniert. Da man das mit flowheater auch hinbekommen kann würde ich diesen Wege gerne wählen.
Das Problem ist folgendes: der Aufbau der zu sendenden Daten sieht wie folgt aus:
wobei der jeweilige String 1 Datensatz ist.
Vorgehensweise ist: ich frage mein interne SQL Datenbank ab und bekomme von dort die Datensätze. Diese manipuliere ich nach den Anforderungen für das entfernte Tool.
ich würde jetzt entweder erst eine json bauen, oder aber gleich den REST Adapter befüllen:
Mein bisher erzieltes Ergebnis sieht aber immer so aus:
Ich würde es aber so benötigen:
Ich steh auf dem Schlauch und könnte etwas Hilfe gebrauchen.
Mfg.
Dalibor
P.S. Habe soeben das Schlüsselfeld für die Gruppierung entdeckt. Nun bin ich schon etwas weiter
wo die vielen Kommas herkommen ist mir noch rätselhaft.
und zwar muss ich etwa 75000 Datensätze per REST Adapter an eine Endpunkt senden. Das mache ich aktuell mit curl was funktioniert. Da man das mit flowheater auch hinbekommen kann würde ich diesen Wege gerne wählen.
Das Problem ist folgendes: der Aufbau der zu sendenden Daten sieht wie folgt aus:
Code:
{ "items": ["string", "string", "string", "string", "string"] }
Vorgehensweise ist: ich frage mein interne SQL Datenbank ab und bekomme von dort die Datensätze. Diese manipuliere ich nach den Anforderungen für das entfernte Tool.
ich würde jetzt entweder erst eine json bauen, oder aber gleich den REST Adapter befüllen:
Mein bisher erzieltes Ergebnis sieht aber immer so aus:
Code:
[
{
"items": ["\"1242705||Lorem|Ipsum 1|59.65|qm\","]
},
{
"items": ["\"1242711||Lorem|Ipsum2|50.63|qm\","]
}
]
Code:
{
"items": ["1242705||Lorem|Ipsum 1|59.65|qm","1242711||Lorem|Ipsum2|50.63|qm"]....
}
Ich steh auf dem Schlauch und könnte etwas Hilfe gebrauchen.
Mfg.
Dalibor
P.S. Habe soeben das Schlüsselfeld für die Gruppierung entdeckt. Nun bin ich schon etwas weiter
Code:
{
"items": ["\"1242705||Lorem|Ipsum1|59.65|qm\",", "\"1242711||Lorem|Ipsum2|qm\","]
}
Letzte Änderung: 5 Monate 4 Tage her von Dalibor Jurisic.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 16
5 Monate 4 Tage her #5134
von Dalibor Jurisic
Dalibor Jurisic antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5134)
So ich bin schon weitergekommen. Das Array wird aktuell so erzeugt wie ich es benötige. Aber wie konfiguriert man den REST Adapter richtig?
Wie kommen meine Items da hin wo sie hin sollen?
Wenn ich die Daten hier unter Standardwert manuel reinschreibe klappt das.
wenn ich das wie folgt konfiguriere kommt immer ein Fehler 400
Wie kommen meine Items da hin wo sie hin sollen?
Wenn ich die Daten hier unter Standardwert manuel reinschreibe klappt das.
wenn ich das wie folgt konfiguriere kommt immer ein Fehler 400
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
5 Monate 4 Tage her #5137
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5137)
Hallo Herr Jurisic,
das Problem ist, dass Ihr REST API Web Service vermutlich einen validen JSON String benötigt. Wenn Sie die Daten über eine PIPE direkt vom Array abgreifen, erhalten Sie nur die Werte des Arrays getrennt nach einem frei definierbaren Trennzeichen als String zurück. Das Trennzeichen können Sie im JSON Konfigurator im Reiter Erweitert ändern.
z.B. 1242705[#]Lorem[#]Ipsum 1[#]59.65[#]qm","1242711[#]…
Wenn Ihr REST API Web Service aus dem Array immer nur 4 Werte benötigt könnten Sie das JSON hier noch manuell zusammenbauen, im Anhang finden Sie ein kleines Beispiel. Das Konstrukt müssten Sie in Ihre Definition einbauen und dem Feld „Items“ übergeben, dann sollte es klappen.
Alternativ müssten die einzelne JSON Dateien generiert werden, die dann im Anschluss mit dem Batch Modul über Wildcards zusammen verarbeitet werden.
z.B. FHBatch.exe /ReadFileName *.json REST-API-CALL.fhd
PS: Wie das zusammengebaut werden muss/kann hängt immer davon ab wie Ihr Web Service aufgebaut ist bzw. hier die Daten erwartet wird sowie wie Ihre Daten vorliegen.
das Problem ist, dass Ihr REST API Web Service vermutlich einen validen JSON String benötigt. Wenn Sie die Daten über eine PIPE direkt vom Array abgreifen, erhalten Sie nur die Werte des Arrays getrennt nach einem frei definierbaren Trennzeichen als String zurück. Das Trennzeichen können Sie im JSON Konfigurator im Reiter Erweitert ändern.
z.B. 1242705[#]Lorem[#]Ipsum 1[#]59.65[#]qm","1242711[#]…
Wenn Ihr REST API Web Service aus dem Array immer nur 4 Werte benötigt könnten Sie das JSON hier noch manuell zusammenbauen, im Anhang finden Sie ein kleines Beispiel. Das Konstrukt müssten Sie in Ihre Definition einbauen und dem Feld „Items“ übergeben, dann sollte es klappen.
Alternativ müssten die einzelne JSON Dateien generiert werden, die dann im Anschluss mit dem Batch Modul über Wildcards zusammen verarbeitet werden.
z.B. FHBatch.exe /ReadFileName *.json REST-API-CALL.fhd
PS: Wie das zusammengebaut werden muss/kann hängt immer davon ab wie Ihr Web Service aufgebaut ist bzw. hier die Daten erwartet wird sowie wie Ihre Daten vorliegen.
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 16
5 Monate 3 Tage her - 5 Monate 3 Tage her #5140
von Dalibor Jurisic
Dalibor Jurisic antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5140)
Vielen Dank für Ihren Vorschlag. Tatsächlich bringt mich das so gar nicht weiter.
Der Webservice erwartet die Daten in dieser Form:
{ "items": ["string", "string", "string", "string", "string"] }
der "string" ist ein zusammengesetzter Datensatz:
Der Datensatz sieht für diesen Vorgang so aus:
1242705||Lorem|Ipsum1|59.65|qm
Nun hat mein Flow 75000 Datensätze also 75000 mal diesen string hintereinander.
Ich schaffe es auf der Read Seite den MySQL Adapter und auf der Write Seite mit dem JSON Adapter, den geforderten Input genau so zu generieren, wie ich es benötigen würde:
{
"items": ["1242705||Lorem|Ipsum1|59.65|qm", "1242711||Lorem|Ipsum2|50.63|qm"]
}
Nun ist mir nicht klar wie ich die erzeugte json im 2ten Schritt weiterverarbeiten kann?
Wenn ich den Wert oben in meinen REST Adapter unter Daten manuell packe
klappt das super.
Die json Daten müsste vom Write Adapter in den Read Adapter. Das mache ich aktuell indem ich die json abspeichere und sie dann im 2ten Schritt wieder lade.
Allerdigns ist mir nicht klar wie der REST sauber konfiguriert werden soll:
Der Webservice erwartet die Daten in dieser Form:
{ "items": ["string", "string", "string", "string", "string"] }
der "string" ist ein zusammengesetzter Datensatz:
Der Datensatz sieht für diesen Vorgang so aus:
1242705||Lorem|Ipsum1|59.65|qm
Nun hat mein Flow 75000 Datensätze also 75000 mal diesen string hintereinander.
Ich schaffe es auf der Read Seite den MySQL Adapter und auf der Write Seite mit dem JSON Adapter, den geforderten Input genau so zu generieren, wie ich es benötigen würde:
{
"items": ["1242705||Lorem|Ipsum1|59.65|qm", "1242711||Lorem|Ipsum2|50.63|qm"]
}
Nun ist mir nicht klar wie ich die erzeugte json im 2ten Schritt weiterverarbeiten kann?
Wenn ich den Wert oben in meinen REST Adapter unter Daten manuell packe
klappt das super.
Die json Daten müsste vom Write Adapter in den Read Adapter. Das mache ich aktuell indem ich die json abspeichere und sie dann im 2ten Schritt wieder lade.
Allerdigns ist mir nicht klar wie der REST sauber konfiguriert werden soll:
Letzte Änderung: 5 Monate 3 Tage her von Dalibor Jurisic.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
5 Monate 3 Tage her #5141
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5141)
Hallo Herr Jurisic,
mir ist jetzt nicht mehr klar was Sie genau durchführen möchten?
Soll pro Datensatz ein REST API Call durchgeführt werden, also ca. 7500 einzelne REST Web Service Aufrufe, oder möchten Sie die Daten komplett in den Content packen und über nur einen REST API Call verschicken?
Wenn es ein Call pro Datensatz (also ca. 7500 Einzelaufrufe) sein soll, dann würde mein Beispiel genau das so erzeugen. Ist nicht schön, hier müssen noch Verbesserungen im Handling vorgenommen werden.
Den Inhalt Verbinden Sie dann mit dem Feld „Item“ auf der WRITE Seite. Hinweis: Der Feldname ist hier komplett egal, der Typ muss lediglich „RequestContent“ sein. Das überschreibt dann den statischen „Daten“ Inhalt vom Reiter „Allgemein“. Der Inhalt ist dann auch das was per PUT an den Webserver übergeben wird.
Wenn Sie mir mal ein Beispiel JSON zukommen lassen, kann ich Ihnen gerne ein Beispiel erstellen.
mir ist jetzt nicht mehr klar was Sie genau durchführen möchten?
Soll pro Datensatz ein REST API Call durchgeführt werden, also ca. 7500 einzelne REST Web Service Aufrufe, oder möchten Sie die Daten komplett in den Content packen und über nur einen REST API Call verschicken?
Wenn es ein Call pro Datensatz (also ca. 7500 Einzelaufrufe) sein soll, dann würde mein Beispiel genau das so erzeugen. Ist nicht schön, hier müssen noch Verbesserungen im Handling vorgenommen werden.
Den Inhalt Verbinden Sie dann mit dem Feld „Item“ auf der WRITE Seite. Hinweis: Der Feldname ist hier komplett egal, der Typ muss lediglich „RequestContent“ sein. Das überschreibt dann den statischen „Daten“ Inhalt vom Reiter „Allgemein“. Der Inhalt ist dann auch das was per PUT an den Webserver übergeben wird.
Wenn Sie mir mal ein Beispiel JSON zukommen lassen, kann ich Ihnen gerne ein Beispiel erstellen.
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 16
5 Monate 3 Tage her #5142
von Dalibor Jurisic
Dalibor Jurisic antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5142)
Hallo Herr Stark,
sorry für meine chaotischen Erklärungen.
Mein Ziel ist es aus einem lokalen Mysql Server ca. 75000 Datensätze auszulesen und diese an einen per REST Adapter an einen Web Service senden.
Ich kann die Datensätze nicht einzeln senden, sondern muss alle gemeinsam senden.
Das schreibt der Anbieter.
sorry für meine chaotischen Erklärungen.
Mein Ziel ist es aus einem lokalen Mysql Server ca. 75000 Datensätze auszulesen und diese an einen per REST Adapter an einen Web Service senden.
Ich kann die Datensätze nicht einzeln senden, sondern muss alle gemeinsam senden.
Das schreibt der Anbieter.
Warnung: Spoiler!
3 - Update an external listNow you can see all details of a list, you may want to change its "items" array, that means you will change values of the list. To make that operation, you will have to send a
request to :
.Warning : This function delete all values in "items" array, then put the new values in it.You will have to add new values of the list in the request's body as following :
Code:
PUT
Code:
https://www.kizeoforms.com/rest/v3/lists/{listId}
Code:
{
"items": ["string", "string", "string", "string", "string"]
}
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
5 Monate 3 Tage her #5145
von FlowHeater-Team
gruß
Robert Stark
FlowHeater-Team antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5145)
Hallo Herr Jurisic,
ok, jetzt habe ich es verstanden. Dann ist es einfach.
Sie ändern den JSON Adapter auf der READ Seite in den TestData Adapter und stellen die zu erzeugenden Datensätze auf 1.
Dann benötigen Sie den File Heater um die JSON Datei komplett zu lesen und lassen sich den Inhalt als String (UTF- zurückgeben. Den Ausgaben verbinden Sie mit dem Items Feld vom REST API Adapter (Type: RequestContent), das sollte es gewesen sein. Im Anhang finden Sie ein kleines Beispiel.
Wenn Sie eine Definition mit zwei Verarbeitungsschritten haben, erzeugen Sie im ersten Step die JSON Datei und im zweiten Step verfahren Sie so wie hier beschrieben.
PS: Das gesamte Handling muss hier noch verbessert werden, sowie sind detailierte Beispiele in Arbeit!
ok, jetzt habe ich es verstanden. Dann ist es einfach.
Sie ändern den JSON Adapter auf der READ Seite in den TestData Adapter und stellen die zu erzeugenden Datensätze auf 1.
Dann benötigen Sie den File Heater um die JSON Datei komplett zu lesen und lassen sich den Inhalt als String (UTF- zurückgeben. Den Ausgaben verbinden Sie mit dem Items Feld vom REST API Adapter (Type: RequestContent), das sollte es gewesen sein. Im Anhang finden Sie ein kleines Beispiel.
Wenn Sie eine Definition mit zwei Verarbeitungsschritten haben, erzeugen Sie im ersten Step die JSON Datei und im zweiten Step verfahren Sie so wie hier beschrieben.
PS: Das gesamte Handling muss hier noch verbessert werden, sowie sind detailierte Beispiele in Arbeit!
gruß
Robert Stark
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 16
5 Monate 3 Tage her #5147
von Dalibor Jurisic
Dalibor Jurisic antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5147)
Hallo Herr Stark,
leider komme ich hiermit nicht weiter.
Würde Ihnen gerne den kompletten Flow schicken, aber da sind alle Anmeldedaten enthalten.
Wie könnte man das hinbekommen?
leider komme ich hiermit nicht weiter.
Würde Ihnen gerne den kompletten Flow schicken, aber da sind alle Anmeldedaten enthalten.
Wie könnte man das hinbekommen?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Dalibor Jurisic
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 16
5 Monate 2 Tage her #5149
von Dalibor Jurisic
Dalibor Jurisic antwortete auf Json zusammenbauen. für Rest Adapter - Beitrag(5149)
Vielen Dank für die Unterstützung. Nun funktioniert alles genau so wie es sein soll.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.319 Sekunden