CSV-rapporter
Report Generator är ett verktyg som låter dig ta emot anpassade rapporter om din data via e-post.
Användning
Du kan definiera en rapport som en Action i Rule Engine UI. Det finns två sätt att definiera en rapport.
Metod 1: Enstaka objekt med enhetsräkning
Du kan definiera en rapport med hjälp av ett enskilt objekt som anger en typ av mätning och sätter det booleska värdet deviceCount till true. Detta genererar en särskild rapport som listar alla iotnodes som ägs av användaren, primärt avsedd för faktureringssyften.
Exempel:
[
{
"measurement": "deviceCount",
"deviceCount": true,
"startTime": "2019-01-01T00:00:00.000Z", // optional
"endTime": "2019-01-31T00:00:00.000Z" // optional
}
]
Metod 2: Enstaka objekt med Query
Du kan definiera en rapport med hjälp av ett enskilt objekt som anger både en typ av mätning och en query.
Denna metod är användbar för att generera rapporter som inkluderar:
- Alla iotnodes som ägs av användaren, eller
- Specifika noder filtrerade på enhetsmodellnamn eller ID.
När rapporten genereras skickas ett e-postmeddelande med en bifogad CSV-fil.
CSV-format
Formatet på CSV-filen beror på vilka nycklar du anger:
"csv-column": true→ Datan struktureras som en kolumn."csv-table": true→ Datan struktureras som en tabell.- Om ingen är satt är standardformatet en tabell.
Filnamn
- Ange
"fileName"som en sträng för att definiera utfilens namn. - Om det inte anges kommer filen att heta
report.csvsom standard.
Sluttid
- Ange
"endTime"till ett specifikt värde för att låsa rapportens sluttid. - Om det inte anges används aktuell tid som sluttid som standard.
Exempel:
[
{
"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"
}
]
Alla metoder - Rapportstruktur
En rapport definieras som en array av objekt, där varje objekt innehåller information om en specifik rapport:
- Measurement: En sträng som beskriver typen av mätning som utförs (t.ex.
"temperature"). - Duration: En sträng som anger tidsperioden mätningarna görs över för hela rapporten. Format:
"värde"+"enhet", därvärdeär ett nummer ochenhetkan vara:"s"= sekunder"m"= minuter"h"= timmar"d"= dagar"w"= veckor"M"= månader"y"= år
- Distance (valfritt): En sträng som anger tidsintervallet mellan mätningarna. Formatet är detsamma som Duration.
Metod 1 Enhetsräkning - Tillåtna egenskaper
- Measurement: För närvarande stöds endast
"deviceCount"för att generera en specialrapport som listar alla iotnodes som ägs av användaren. - deviceCount: Ett booleskt värde som måste vara
trueom mätningen är"deviceCount".
Metod 2 Enstaka objekt med Query - Ytterligare egenskaper
- Query: En sträng eller ett objekt som anger vilka noder som ska ingå i rapporten. Alternativen är:
"all": Inkluderar alla iotnodes som ägs av användaren (query: "all")."query.deviceModelName": Inkluderar noder med ett specifikt enhetsmodellnamn (query: { deviceModelName: "myDeviceModelName" })."query._id": Inkluderar noder med ett specifikt enhets-ID (query: { _id: "63a2d11212169cf61ae14385" }).
Observera: Egenskaperna ovan är specifika för respektive metod. Inte alla egenskaper gäller för varje metod för att definiera en rapport.