rawDataGetValues

Mit der Aktion rawDataGetValues kann man Rohdaten aus dem Corvus holen. Dabei werden die Rohdaten, wie der Name schon andeutet, nicht aufbereitet, sondern werden eins zu eins übergeben. Das bedeutet, das sind die Original-Daten die Corvus von den Geräten bekommen hat. Eine Umrechnung findet nicht statt.

Geliefert werden die Daten im rawdatas Block

Beispiel

Anfrage:

{
	"action": "rawDataGetValues",
	"actionParameter": {
		"dataScope": "INTERFACE_TRAFFIC",
		"deviceId": 11,
		"ifIndex": 1,
	    "minTs": 1663655228,
	    "maxTs": 1663655528
    }
}

Antwort :

{
	"action": "rawDataGetValues",
	"actionParameter": {
		"dataScope": "INTERFACE_TRAFFIC",
		"minTs": 1663655228,
		"maxTs": 1663655528,
		"deviceId": 11,
		"ifIndex": 1
	},
	"rawdatas": [
		{
			"ts": 1663655228,
			"in": "65688",
			"out": "65688"
		},
		{
			"ts": 1663655287,
			"in": "65743",
			"out": "65688"
		},
		{
			"ts": 1663655348,
			"in": "65780",
			"out": "65899"
		},
		{
			"ts": 1663655409,
			"in": "66599",
			"out": "66322"
		},
		{
			"ts": 1663655469,
			"in": "67676",
			"out": "67632"
		}
	]
}

Parameter

Das Holen von Daten erfordert einige Zwangsparameter.

Parameter Name Datentyp Default Beschreibung
.actionParameter.dataScope String - Der Name der Daten die man haben will (siehe unten)
.actionParameter.deviceId Integer 0 Sofern der Scope es erfordert, muss hier die Geräte ID eingetragen werden
.actionParameter.ifIndex Integer 0 Sofern der Scope es erfordert, muss hier der Interface-Index eingetragen werden
.actionParameter.minTs Integer 0 Der minimalste Zeitstempel, mit dem die Daten anfangen sollen
.actionParameter.maxTs Integer 0 Der maximale Zeitstempel, an dem die Daten aufhören sollen

Die Felder minTs und maxTs haben besondere Eigenschaften:

  • minTs und maxTs sind immer Included. Bedeutet also nicht eta Grösser oder Kleiner, sondern immer Grösser-Gleich und Kleiner-Gleich
  • Wenn minTs nicht gesetzt ist (oder 0 ist), dann werden die Daten vom ersten Zeitstempel benutzt, die das System findet
  • Wenn maxTs nicht gesetzt ist (oder 0 ist), dann wird der maxTs auf die aktuelle Zeit gesetzt (Werte aus der Zukunft erscheinen nicht)
  • Wenn maxTs auf -1 gesetzt wird, werden von minTs ab alle restlichen Daten geliefert, möglicherweise auf fehlerhafte Zukunftswerte

Was man nicht machen sollte, ist ein minTs = 0 und ein maxTs = -1. Das dauert nicht nur ewig, sondern überträgt auf irrsinnig viele Daten.

Was man tun sollte ist, das System Incremental abzufragen. Dabei merkt dich der Aufrufer den letzten Timestamp und setzt ihn in minTs + 1 ein und lässt maxTs einfach weg.

Scopes

Jeder Scope beinhaltet andere Daten und erfordert auch andere Parameter. Die folgende Tabelle spezifiziert das:

Scope Erforderlich Bemerkungen
INTERFACE_TRAFFIC deviceId + ifIndex Damit werden die beiden Interface Byte Counter zu einem bestimmten Datum zurückgegeben. Inbound/Outbound am Interface

Antwort Datenfelder

Hier eine vollständige Beschreibung aller möglichen Datenfelder der Antwort

Parameter Name Datentyp Beschreibung
.rawdatas Liste Eine Liste aller Roh Daten
.rawdatas[].ts Integer Der Zeitstempel in UTC Sekunden (der Wert ist ein 32bit Unsigned Integer)
.rawdatas[].in Long Bei INTERFACE_TRAFFIC, die Anzahl der Bytes die INBOUND in das Interface reingelaufen sind (Unsigned 64bit)
.rawdatas[].out Long Bei INTERFACE_TRAFFIC, die Anzahl der Bytes die OUTBOUND aus dem Interface rausgelaufen sind (Unsigned 64bit)

Corvus Help - 28.February 2026 03:33:38 UTC - Commit 667ccc2e