CSV-Berichte
Der Report Generator ist ein Werkzeug, mit dem Sie angepasste Berichte über Ihre Daten per E-Mail erhalten können.
Verwendung
Sie können einen Bericht als Action in der Rule-Engine-Oberfläche definieren. Es gibt zwei Möglichkeiten, einen Bericht zu definieren.
Methode 1: Einzelnes Objekt mit Device Count
Sie können einen Bericht mit einem einzelnen Objekt definieren, das einen Messungstyp angibt und das Boolean deviceCount auf true setzt. Dies erzeugt einen speziellen Bericht, der alle IoT-Knoten des Benutzers auflistet, hauptsächlich für Abrechnungszwecke gedacht.
Beispiel:
[
{
"measurement": "deviceCount",
"deviceCount": true,
"startTime": "2019-01-01T00:00:00.000Z", // optional
"endTime": "2019-01-31T00:00:00.000Z" // optional
}
]
Methode 2: Einzelnes Objekt mit Query
Sie können einen Bericht mit einem einzelnen Objekt definieren, das sowohl einen Messungstyp als auch eine Query angibt.
Diese Methode ist nützlich, um Berichte zu erstellen, die Folgendes enthalten:
- Alle IoT-Knoten des Benutzers, oder
- Bestimmte Knoten, gefiltert nach Gerätemodellname oder ID.
Wenn der Bericht generiert wird, wird eine E-Mail mit angehängter CSV-Datei versendet.
CSV-Format
Das Format der CSV-Datei hängt von den definierten Schlüsseln ab:
"csv-column": true→ Die Daten werden als Spalte strukturiert."csv-table": true→ Die Daten werden als Tabelle strukturiert.- Ist keiner der beiden gesetzt, ist das Standardformat eine Tabelle.
Dateiname
- Setzen Sie
"fileName"auf eine Zeichenkette, um den Namen der Ausgabedatei festzulegen. - Ist dieser nicht gesetzt, wird die Datei standardmäßig
report.csvgenannt.
Endzeit
- Setzen Sie
"endTime"auf einen bestimmten Wert, um die Endzeit des Berichts festzulegen. - Ist dieser nicht gesetzt, wird standardmäßig die aktuelle Zeit als Endzeit verwendet.
Beispiel:
[
{
"query": "all",
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"endTime": "2019-01-31T00:00:00.000Z",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"deviceModelName": "myDeviceModelName"
},
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"_id": "63a2d11212169cf61ae14385"
},
"csv-table": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M"
}
]
Alle Methoden - Berichtsstruktur
Ein Bericht wird als Array von Objekten definiert, wobei jedes Objekt Informationen zu einem bestimmten Bericht enthält:
- Measurement: Eine Zeichenkette, die den Typ der durchgeführten Messung beschreibt (z. B.
"temperature"). - Duration: Eine Zeichenkette, die die Zeitspanne angibt, über die Messungen für den gesamten Bericht erfasst werden. Format:
"value"+"unit", wobeivalueeine Zahl ist unduniteiner der folgenden sein kann:"s"= Sekunden"m"= Minuten"h"= Stunden"d"= Tage"w"= Wochen"M"= Monate"y"= Jahre
- Distance (optional): Eine Zeichenkette, die das Zeitintervall zwischen den Messungen angibt. Das Format entspricht dem von Duration.
Methode 1 Device Count - Zulässige Eigenschaften
- Measurement: Derzeit wird nur
"deviceCount"unterstützt, um einen speziellen Bericht zu erstellen, der alle IoT-Knoten des Benutzers auflistet. - deviceCount: Ein Boolean, das auf
truegesetzt werden muss, wenn measurement"deviceCount"ist.
Methode 2 Einzelnes Objekt mit Query - Zusätzliche Eigenschaften
- Query: Eine Zeichenkette oder ein Objekt, das angibt, welche Knoten in den Bericht aufgenommen werden sollen. Optionen:
"all": Enthält alle IoT-Knoten des Benutzers (query: "all")."query.deviceModelName": Enthält Knoten mit einem bestimmten Gerätemodellname (query: { deviceModelName: "myDeviceModelName" })."query._id": Enthält Knoten mit einer bestimmten Geräte-ID (query: { _id: "63a2d11212169cf61ae14385" }).
Hinweis: Die oben aufgeführten Eigenschaften sind spezifisch für jede Methode. Nicht alle Eigenschaften gelten für jede Methode zur Definition eines Berichts.