Jump to content

Herunterladen von Datensätzen mehrerer Smaps / Globaler Webhook.


Lars Kida

Recommended Posts

Währe es möglich der REST-API eine Funktion zu geben, um alle Datensätze mehrerer Smaps auf einen schlag heraus zu ziehen?

z.b.:

/Smaps/<SMAPID>,<SMAPID>,...,<SMAPID>/Data

Oder, alternativ, via Gruppe/Kategorie:

/Groups/<GROUP>/Data

---

EDIT: Eine dritte alternative währe ein globaler Webhook, der für alle Smaps gilt.

Edited by Lars Kida
  • Like 2
Link to comment
Share on other sites

Das bereitstellen einer solchen Route würde etwas den Grundprinzipien von Rest API's wiedersprechen. Zumal es kunden mit dutzenden oder hunderten smaps mit jeweils tausenden Datensätzen gibt. Ich kann die Schnappatmung unserer DevOps Jungs schon hören 😄

Ein Workaround wäre, ein Skript zu schreiben, das die API-Aufrufe für jede Smap in einer Schleife durchführt und die Ergebnisse sammelt. Dies könnte wie folgt aussehen:

  1. Liste der Smaps abrufen: Zuerst müssen Sie die IDs der Smaps abrufen, die Sie abfragen möchten.
  2. Datensätze abrufen: Für jede Smap-ID einen API-Aufruf machen, um die Datensätze abzurufen.
  3. Ergebnisse zusammenführen: Die Ergebnisse der einzelnen API-Aufrufe in einer gemeinsamen Datenstruktur zusammenführen.

Hier ist eine allgemeine Beschreibung, wie das Skript aussehen könnte:

  1. Liste der Smaps abrufen:

    • API-Route: GET /Smaps
    • Diese Route gibt Ihnen eine Liste aller Smaps zurück, aus der Sie die IDs extrahieren können.
  2. Datensätze für jede Smap abrufen:

    • API-Route: GET /Smaps/{smapId}/Data
    • Für jede Smap-ID, die Sie aus der vorherigen Liste erhalten haben, machen Sie einen API-Aufruf, um die Datensätze abzurufen.
  3. Ergebnisse zusammenführen:

    • Sammeln Sie die Ergebnisse aller API-Aufrufe in einer gemeinsamen Datenstruktur, z.B. einer Liste oder einem Dictionary.

Leider gibt es keine Möglichkeit, dies direkt über eine einzige API-Route zu tun.

  • Like 4
Link to comment
Share on other sites

10 minutes ago, HK alias Holger said:

Ein Workaround wäre, ein Skript zu schreiben, das die API-Aufrufe für jede Smap in einer Schleife durchführt und die Ergebnisse sammelt.

Das ist bereits mein zurzeitiger Vorgang; leider treffe ich dadurch sehr schnell auf das 60req/min Limit der REST-API.

 

7 minutes ago, Bülent Erbas said:

Hi @Lars Kida

wäre ein Powershell-Skript evtl. eine Alternative?
 

 

Die Applikation an der ich arbeite ist bereits in C# geschrieben. 🙂

---

EDIT: Eine dritte alternative währe ein globaler Webhook, der für alle Smaps gilt.

Edited by Lars Kida
  • Like 2
Link to comment
Share on other sites

Just now, HK alias Holger said:

Das Limit könntest du ja mit "warten" behandeln.
Wieviel req/min würdest du brauchen?

Das warten habe ich bereits implementiert! 😉

Die req/min-Menge ist schwer abzuschätzen, da diese A) davon abhängt ob ein/mehrere Benutzer schnell hintereinander/gleichzeitig den "Baugruppe Synchronisieren"-Knopf betätigt/betätigen und B) die (Bau)Gruppen aus je 5-30 Smaps bestehen, was dann zu einer unschön langen Wartezeit führt...

  • Like 1
Link to comment
Share on other sites

Nach einer kurzen Diskussion mit dem Kollegem... ein einzelner globaler Webhook, der für alle Smaps gleichzeitig gilt, währe eine weitaus bessere Option; da oft neue Smaps dazukommen (oder gelöscht werden) ist das einstellen (und daran denken) von webhook-pro-smap etwas... unpraktisch.

  • Like 3
Link to comment
Share on other sites

Ich finde die Idee nicht schlecht. Gerade bei Kunden mit vielen smaps mit hoher Volatilität hätte man eine  Integration die immer funkltioniert, unabhängig ob smaps hinzukommen oder gelöscht werden.. 
ich werde das mal mit dem Product Team besprechen oder @Marika Karl mischt sich gleich mit ein 😄

Neues Feature "Systemwebhooks". Könnte ja direkt über das Portal für diverse Events aktiviert bzw. konfiguriert werden
- smap erstellt
- smap gelöscht
- datensatz eingegangen
- Nutzer gelöscht
- Nutzer angelegt
 

Edited by HK alias Holger
  • Like 5
  • Agree 1
Link to comment
Share on other sites

On 9/6/2024 at 6:55 AM, Philip Alvermann said:

Klingt eher nach Arbeit auslagern 🙂. Ein Backend das alle eingehenden Records, egal welche smap (webhook), annimmt wäre ja auch eine Möglichkeit.

Ja, das Backend wird/würde alle Smaps über den selben Webhook annehmen (dauert keine Stunde zum einzurichten); das Problemchen ist halt das Einstellen (inkl. ändern und entfernen) der vielen Webhooks!

Das die Webhooks pro Smap sind finde ich persöhnlich sehr verwirrend/komisch/unerwartet... 😕

On 9/6/2024 at 8:27 AM, HK alias Holger said:

Ich finde die Idee nicht schlecht. Gerade bei Kunden mit vielen smaps mit hoher Volatilität hätte man eine  Integration die immer funkltioniert, unabhängig ob smaps hinzukommen oder gelöscht werden.. 
ich werde das mal mit dem Product Team besprechen oder @Marika Karl mischt sich gleich mit ein 😄

Neues Feature "Systemwebhooks". Könnte ja direkt über das Portal für diverse Events aktiviert bzw. konfiguriert werden
- smap erstellt
- smap gelöscht
- datensatz eingegangen
- Nutzer gelöscht
- Nutzer angelegt
 

Na das klingt mal nach einer tollen/wunderbaren/fantastischen Idee! 😄

  • Like 4
Link to comment
Share on other sites

  • Lars Kida changed the title to Herunterladen von Datensätzen mehrerer Smaps / Globaler Webhook.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...