Az adatfolyam szűrési szakaszával elvetheti a feltételnek megfelelő üzeneteket. Ha egy szűrőkifejezés értéke igaz, a rendszer elveti az üzenetet. Ha a kifejezés értéke hamis, az üzenet a következő szakaszba kerül.
Több szűrőszabályt is meghatározhat. Minden szabály megadja a bemeneti mezőket és egy logikai kifejezést. A szabályok VAGY logikát használnak: ha valamelyik szabály igaznak bizonyul, a rendszer elveti az üzenetet.
Minden szűrőszabály a következő tulajdonságokkal rendelkezik:
| Ingatlan |
Szükséges |
Leírás |
inputs |
Igen |
A bejövő üzenetből beolvasandó mezőútvonalak listája. Hozzárendelt pozícióváltozók: az első bemenet, $1a második $2és így tovább. |
expression |
Igen |
Az egyes üzenetek alapján kiértékelt logikai kifejezés. Ha igaz, a rendszer elveti az üzenetet. |
description |
No |
A szűrőszabály ember által olvasható leírása. |
Utolsó ismert érték használata
Fűzze hozzá ? $last egy bemenethez az utolsó ismert értéket, ha a mező hiányzik az aktuális üzenetből. Ez a módszer olyan ritkán használt adatok esetében hasznos, ahol nem minden üzenet tartalmaz minden mezőt.
Examples
Szűrés küszöbérték szerint
Olyan üzenetek elvetése, ahol a hőmérséklet 20 vagy alacsonyabb:
Az Átalakítás (nem kötelező) területen válassza a Szűrő>Hozzáadása lehetőséget.
Adja meg a következő beállításokat:
| Setting |
Leírás |
| Szűrési feltétel |
temperature <= 20 |
| Leírás |
Alacsony hőmérsékleti értékek elvetése |
A Szűrőfeltétel mezőben adja meg @ vagy válassza a Ctrl + Szóköz billentyűkombinációt, ha egy legördülő listából szeretne adatpontokat választani.
Válassza az Alkalmaz lehetőséget.
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"filter": [
{
"inputs": [
"temperature"
],
"expression": "$1 <= 20"
}
]
}
}
builtInTransformationSettings: {
filter: [
{
inputs: [
'temperature'
]
expression: '$1 <= 20'
}
]
}
Fontos
A Kubernetes üzembehelyezési jegyzékfájljainak használata éles környezetekben nem támogatott, és csak hibakereséshez és teszteléshez használható.
builtInTransformationSettings:
filter:
- inputs:
- temperature
expression: "$1 <= 20"
Szűrés az utolsó ismert értékkel
Használja az utolsó ismert hőmérsékleti értéket, ha az aktuális üzenet nem tartalmazza. Elhagyja azokat az üzeneteket, ahol az utolsó ismert hőmérséklet 20 fok vagy annál alacsonyabb:
A szűrőfeltétel mezőbe írja be a következőt @temperature ? $last <= 20:
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"filter": [
{
"inputs": [
"$source.temperature ? $last"
],
"expression": "$1 <= 20"
}
]
}
}
builtInTransformationSettings: {
filter: [
{
inputs: [
'temperature ? $last'
]
expression: '$1 <= 20'
}
]
}
Fontos
A Kubernetes üzembehelyezési jegyzékfájljainak használata éles környezetekben nem támogatott, és csak hibakereséshez és teszteléshez használható.
builtInTransformationSettings:
filter:
- inputs:
- temperature ? $last
expression: "$1 <= 20"
Szűrés több feltétellel
Dobja el az üzeneteket, ahol a hőmérséklet és a páratartalom szorzata 100 000 vagy több:
A szűrőfeltétel mezőbe írja be a következőt @temperature * @humidity >= 100000:
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"filter": [
{
"inputs": [
"temperature.Value",
"humidity.Value"
],
"expression": "$1 * $2 >= 100000"
}
]
}
}
builtInTransformationSettings: {
filter: [
{
inputs: [
'temperature.Value'
'humidity.Value'
]
expression: '$1 * $2 >= 100000'
}
]
}
Fontos
A Kubernetes üzembehelyezési jegyzékfájljainak használata éles környezetekben nem támogatott, és csak hibakereséshez és teszteléshez használható.
builtInTransformationSettings:
filter:
- inputs:
- temperature.Value
- humidity.Value
expression: "$1 * $2 >= 100000"
Szűrés bővített adatokkal
Ha bővített adatkészletet konfigurált, a bővített mezőket szűrőfeltételek között használhatja. Például szűrjön egy állapottároló adatkészletből egy eszközhöz specifikus korlát ellen:
A bővítésalapú szűrés jelenleg nem érhető el a műveleti felületen.
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"datasets": [
{
"key": "device_limits",
"inputs": [
"$source.deviceId",
"$context(device_limits).deviceId"
],
"expression": "$1 == $2"
}
],
"filter": [
{
"inputs": [
"temperature",
"$context(device_limits).maxTemperature"
],
"expression": "$1 <= $2"
}
]
}
}
builtInTransformationSettings: {
datasets: [
{
key: 'device_limits'
inputs: [
'$source.deviceId'
'$context(device_limits).deviceId'
]
expression: '$1 == $2'
}
]
filter: [
{
inputs: [
'temperature'
'$context(device_limits).maxTemperature'
]
expression: '$1 <= $2'
}
]
}
Fontos
A Kubernetes üzembehelyezési jegyzékfájljainak használata éles környezetekben nem támogatott, és csak hibakereséshez és teszteléshez használható.
builtInTransformationSettings:
datasets:
- key: device_limits
inputs:
- $source.deviceId
- $context(device_limits).deviceId
expression: "$1 == $2"
filter:
- inputs:
- temperature
- $context(device_limits).maxTemperature
expression: "$1 <= $2"
Ez a példa olyan üzeneteket távolít el, amelyek hőmérséklete meghaladja az eszközspecifikus maximális értéket az állapottárolóból.
Több szűrőszabály
Több szűrőszabályt is meghatározhat. Minden szabály VAGY logikát használ: ha valamelyik szabály igaznak számít, a rendszer elveti az üzenetet:
Az Átalakítás (nem kötelező) területen válassza a Szűrő>hozzáadása többször lehetőséget további szűrőszabályok hozzáadásához.
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"filter": [
{
"inputs": ["temperature"],
"expression": "$1 <= 20",
"description": "Drop low temperatures"
},
{
"inputs": ["humidity"],
"expression": "$1 >= 80",
"description": "Drop high humidity readings"
}
]
}
}
builtInTransformationSettings: {
filter: [
{
inputs: ['temperature']
expression: '$1 <= 20'
description: 'Drop low temperatures'
}
{
inputs: ['humidity']
expression: '$1 >= 80'
description: 'Drop high humidity readings'
}
]
}
Fontos
A Kubernetes üzembehelyezési jegyzékfájljainak használata éles környezetekben nem támogatott, és csak hibakereséshez és teszteléshez használható.
builtInTransformationSettings:
filter:
- inputs:
- temperature
expression: "$1 <= 20"
description: Drop low temperatures
- inputs:
- humidity
expression: "$1 >= 80"
description: Drop high humidity readings
Kapcsolódó tartalom