Mein UseCase ist dies: In Cumulocity werden viele Ereignisse von Devices gesammelt und von einigen 'Cumulocity Event Language'-Skripten verarbeitet. Nun muss ich diese Daten in einigen Backoffice- und Analysesystemen weiterverarbeiten. Meine Idee ist, die Daten durch ein Time-Window-Boxed CEL-Skript zu diesen "externen" Systemen zu pushen, indem man eine eigene (zB) JavaScript-Funktion schreibt (siehe 'https://www.cumulocity.com/guides/event-language/advanced/') und die gesammelten Daten über einen REST-Aufruf an diese sendet Systeme (die einen entsprechenden Dienst ausführen müssen).Senden von verarbeiteten Daten aus einer CEL-Regel in Cumulocity an einen externen REST-Dienst
Frage: 1) könnte diese Idee funktionieren? 2) Kann ich Helfer Bibliotheken (in JS in meinem Fall) in das CEL-Modul laden? 3) Kann ich meinen Pushing-Versuch wiederholen, wenn er fehlschlägt?
Dank MB
Danke. Wie ich verstehe, basiert der Mechanismus auf "Bayeux"; der Anwendungsfall dieses Protokolls ist: "Bitte informieren Sie mich sofort, wenn ein Event eintritt"; Es führt http-long-polling durch, um dies zu erreichen. Aber mein Anwendungsfall ist dies: "sende mir ** alle ** Messungen - vielleicht 1k/s - zu meinem REST-Service. Also meine Frage: * macht das 'Baye: UX-Protokoll' horizontal skalieren? Ich erwarte viele C8y Server und viele meiner Backoffice Severs ... * Kann ich viele Bayeux Clients gleichzeitig instanziieren? * Wenn ja: Wird jedes Ereignis nur einmal gesendet? * Was ist, wenn eine Übertragung "in der Mitte" ausfällt? – mbader
Ja, es gibt eine Cluster-Lösung in CometD namens Oort. Sie können natürlich so viele Clients verbinden, wie Sie möchten, aber wenn Sie die gleichen Kanäle abonnieren, erhalten alle Clients alles, sodass Sie die Subskriptionen teilen müssen. Zur Sicherstellung der Datenübertragung verfügt CometD über die Erweiterung der Nachrichtenbestätigung – TyrManuZ