Zum Inhalt springen

Herunterladen von Datensätzen mehrerer Smaps / Globaler Webhook.


Lars Kida

Empfohlene Beiträge

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.

Bearbeitet von Lars Kida
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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.

Bearbeitet von Lars Kida
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Lars Kida:

ein einzelner globaler Webhook, der für alle Smaps gleichzeitig gilt, währe eine weitaus bessere Option

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

  • Like 3
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
 

Bearbeitet von HK alias Holger
  • Like 5
  • Zustimmung 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb HK alias Holger:

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

Für so etwas ist das natürlich wirklich ein Mehrwert.

  • Like 3
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

  • Lars Kida änderte den Titel in Herunterladen von Datensätzen mehrerer Smaps / Globaler Webhook.

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...