Funktionsbeschreibung und Anwendung
Der Aggregator-Block sammelt einlaufende Nachrichten. Die in Nachrichten enthaltenen Felder können entsprechend der Konfiguration verschiedenartig behandelt werden.
Ein Anwendungsbeispiel ist eine Minimum/Maximum-Aggregation, um das aufkommende Datenvolumen zu reduzieren. Beispielsweise laufen Temperaturdaten der Außentemperatur im Sekundentakt ein, statt aber 60 Momentan-Werte zu übertragen können für jede Minute nur der Minimum- und Maximum-Wert übertragen werden.
Die in der folgenden Tabelle erläuterten Parameter sind in Gesamtkonfiguration Stream Processor mit Aggregator-Block und Konfiguration des Aggregator-Block zu finden.
Parameter | Beschreibung |
---|---|
Name | Name der Blockinstanz. |
Into | Name der Blockinstanz des Folgeblocks an welchen Ausgabenachrichten weitergeleitet werden sollen. |
Window - Based On | Auswahl des Window-Typ
|
Window – Size | Die Windowgröße bestimmt den vorhandenen Puffer je nach Window-Typ sample-basiert (Wert als Anzahl) oder zeitbasiert (Wert in Millisekunden). |
Window - HoppingEach | Häufigkeit einer Berechnung und Ausgabe je nach Window-Typ sample-basiert (Wert als Anzahl) oder zeitbasiert (Wert in Millisekunden). Ein hoher Wert führt seltener zu einer Ausführung und Ausgabe als ein kleiner. |
Behaviour | Die verarbeitende Funktion kann für jedes Feld der einlaufenden Nachricht angegeben werden. Sollte eine ausgehende Nachricht keinen Zeitstempel (Key timestamp) besitzen, so wird dieser mit der aktuellen Zeit erzeugt. |
Default | Default-Wert, der für alle Felder gilt, die nicht explizit angegeben sind. |
Name | Feldname (Variablenname) im JSON der einlaufenden Nachricht |
Value | Funktionsauswahl für das jeweilige Feld. Folgende Werttypen stehen zur Verfügung:
|
Output Topic | Name des modulinternen Output Topic, um Output-Nachrichten auf die Edge Broker Topic(s) zu mappen. |
Beispielkonfiguration Aggregator-Block
Folgende Beispielkonfiguration ist in Konfiguration des Aggregator-Block und Gesamtkonfiguration Stream Processor mit Aggregator-Block dargestellt:
„a“ ist explizit konfiguriert und wird in einem Array gesammelt (Value: "Collect") und ausgegeben.
„b“ wird explizit ignoriert (Value: "Ignore") und entfällt für die Ausgabenachricht.
Da der Timestamp nicht konfiguriert ist, erhält die Default-Funktion die Konfiguration first.

