Adatok átalakítása Azure IoT-adatfeldolgozó előzetes verziójában
Fontos
Az Azure IoT Operations Előzetes verziója – az Azure Arc által engedélyezett verzió jelenleg előzetes verzióban érhető el. Ezt az előzetes verziójú szoftvert nem szabad éles környezetben használni.
A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Az átalakítási szakasz használatával strukturális átalakításokat hajthat végre egy folyamat üzenetén, például:
- Címkék és tulajdonságok átnevezése
- Adatok blokkolásának megszüntetése
- Új tulajdonságok hozzáadása
- Számított értékek hozzáadása
Az átalakítási fázis jq használatával támogatja az adatátalakítást:
- Minden folyamatpartíció egymástól függetlenül alakítja át az üzeneteket.
- A szakasz egy átalakított üzenetet ad ki a megadott JQ-kifejezés alapján.
- Hozzon létre egy jq-kifejezést , amely átalakít egy üzenetet a bejövő üzenet struktúrája alapján a fázisba.
Előfeltételek
Az átalakítás folyamatának konfigurálásához és használatához a következőkre van szükség:
- Az Azure IoT Data Processor Preview üzembe helyezett példánya, amely tartalmazza az opcionális adatfeldolgozó összetevőt.
- A jq-kifejezések ismerete.
A szakasz konfigurálása
Az átalakító fázis JSON-konfigurációja határozza meg a szakasz részleteit. A szakasz létrehozásához használhatja az űrlapalapú felhasználói felületet, vagy megadhatja a JSON-konfigurációt a Speciális lapon:
Név szerint | Érték | Szükséges | Példa |
---|---|---|---|
Név | Az Adatfeldolgozó felhasználói felületén megjelenítendő név. | Igen | Transform1 |
Leírás | Az átalakítási fázis felhasználóbarát leírása. | Nem | Rename Tags |
Lekérdezés | Az átalakítási jq kifejezés. | Igen | .payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add) |
Mintakonfiguráció
Az alábbi átalakítási példa a bemeneti üzenetben szereplő címkék tömbét egy olyan objektummá alakítja, amely az összes címkét és azok értékeit tartalmazza:
{
"displayName": "TransformInput",
"description": "Make array of tags into one object",
"query": ".payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)"
}
Az átalakítási fázis kimenete a következő példához hasonlóan néz ki:
{
"systemProperties": {
"partitionKey": "foo",
"partitionId": 5,
"timestamp": "2023-01-11T10:02:07Z"
},
"qos": 1,
"topic": "/assets/foo/tags/bar",
"properties": {
"responseTopic": "outputs/foo/tags/bar",
"contentType": "application/json",
"payloadFormat": 1,
"correlationData": "base64::Zm9v",
"messageExpiry": 412
},
"userProperties": [
{
"key": "prop1",
"value": "value1"
},
{
"key": "prop2",
"value": "value2"
}
],
"payload": {
"values": {
"temperature": 250,
"pressure": 30,
"humidity": 10,
"runningStatus": true
}
}
}