Megosztás a következőn keresztül:


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
    }
  }
}