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


Az azure IoT-adatfeldolgozó előzetes verziójának utolsó ismert értékeinek használata

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 adatfeldolgozó folyamat utolsó ismert értékszakaszának (LKV) használatával naprakész és teljes rekordot állíthat be az adatokról. Az LKV szakasz nyomon követi a folyamat üzeneteinek kulcs-érték párjainak legújabb értékeit. A szakasz ezután a követett LKV-értékekkel bővítheti az üzeneteket. A legutóbbi ismert értékkövetés és -bővítés fontos a következő folyamatokra támaszkodó alsóbb rétegbeli folyamatok esetében:

  • Több idősoros adatpont egy adott időbélyegen.
  • Olyan hasznos adatok, amelyeknek mindig van értéke egy adott kulcshoz.

Az adatfeldolgozási folyamatban az LKV-fázis nem kötelező. Az LKV-szakasz használata esetén a következő műveletekre van lehetőség:

  • Több LKV-fázis hozzáadása egy folyamathoz. Minden LKV-fázis több értéket is nyomon tud követni.
  • Bővítse az üzeneteket a tárolt LKV-értékekkel, biztosítva, hogy az adatok teljesek és átfogóak maradnak.
  • Az LKV-k automatikusan frissülnek a bejövő üzenetek legújabb értékeivel.
  • Az LKV-k nyomon követése külön-külön minden logikai partícióhoz. Az LKV-fázis egymástól függetlenül működik minden logikai partícióban.
  • Konfigurálja az egyes nyomon követett LKV-k lejárati idejét az érvényesség időtartamának kezeléséhez. Ezzel a vezérlővel biztosítható, hogy az üzenetek ne legyenek elavult értékekkel gazdagítva.

Az LKV-fázis fenntartja az időrendi adatintegritást. A szakasz biztosítja, hogy a korábbi időbélyeggel rendelkező üzenetek ne bírálják felül vagy cserélje le az LKV-ket a későbbi időbélyegekkel rendelkező üzenetekre.

Az LKV szakasz a legutóbbi ismert értékekkel bővíti a bejövő üzeneteket. Ezek a bővített értékek a korábban rögzített adatokat jelölik, és nem feltétlenül a jelenlegi valós idejű értékek. Győződjön meg arról, hogy ez a viselkedés megfelel az adatfeldolgozási elvárásoknak.

Előfeltételek

Az összesítő folyamatszakasz konfigurálásához és használatához az Azure IoT Data Processor Preview egy üzembe helyezett példányára van szükség, amely tartalmazza az opcionális adatfeldolgozó összetevőt.

A szakasz konfigurálása

Az LKV-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:

Mező Leírás Kötelező Alapértelmezett Példa
Név A szakasz felhasználó által definiált neve. Igen - lkv1
Leírás A szakasz felhasználó által definiált leírása. Nem - lkv1
Tulajdonságok > bemeneti elérési útja A követendő kulcs elérési útja . Igen - .payload.temperature
Tulajdonságok > kimeneti elérési útja A kimeneti üzenetben található hely elérési útja az LKV megírásához. Igen - .payload.temperature_lkv
Tulajdonságok > lejárati ideje A nyomon követett LKV-k csak a felhasználó által megadott időintervallumra érvényesek, amely után a kimeneti üzenet nem lesz gazdagítva a tárolt értékkel. A rendszer nyomon követi az egyes LKV-kulcsok lejáratát. Nem - 10h
Tulajdonságok > időbélyegének elérési útja A kimeneti üzenet helyének elérési útja az LKV legutóbbi frissítésének időbélyegének megírásához. Nem Hamis -

Ha tartalmazza az időbélyeg elérési útját, az segít pontosan megérteni, hogy mikor lettek rögzítve az LKV-k, és javítja az átláthatóságot és a nyomon követhetőséget.

inputPath Egyenlő outputPath

A kimenő üzenet vagy a tényleges üzenetérték, vagy LKV, ha a nyomon követett kulcs hiányzik az üzenet hasznos adataiból. A bejövő értékek elsőbbséget élveznek, és a fázis nem bírálja felül LKV-val. Annak megállapításához, hogy az üzenet értéke LKV-érték-e, használja az időbélyeg elérési útját. Az időbélyeg elérési útja csak akkor szerepel a kimenő üzenetben, ha az üzenet értéke a nyomon követett LKV.

inputPath nem egyenlő a outputPath

A szakasz az LKV-t az outputPath összes bejövő üzenethez írja. Ezzel a konfigurációval nyomon követheti az üzenetek későbbi hasznos adatainak értékei közötti különbséget.

Mintakonfiguráció

Az alábbi példa egy mintaüzenetet mutat be az LKV-fázishoz a 10:02-kor érkező üzenettel és a nyomon követett .payload.temperature LKV-értéket tartalmazó hasznos adattal:

{ 
  { 
    "systemProperties":{ 
        "partitionKey":"pump", 
        "partitionId":5, 
        "timestamp":"2023-01-11T10:02:07Z" 
    }, 
    "qos":1, 
    "topic":"/assets/pump/#" 
    }, 
    "payload":{ 
        "humidity": 10, 
        "temperature":250, 
        "pressure":30, 
        "runningState": true 
    } 
} 

LKV-konfiguráció:

Mező Érték
Bemeneti elérési út* .payload.temperature
Kimeneti elérési út .payload.lkvtemperature
Lejárati idő 10h
Időbélyeg elérési útja .payload.lkvtemperature_timestamp

A nyomon követett LKV-értékek a következők:

  • .payload.temperature 250.
  • Az LKV időbélyege a következő: 2023-01-11T10:02:07Z

A 11:05-kor érkező, a hőmérsékleti tulajdonsággal nem rendelkező hasznos adattal érkező üzenetek esetében az LKV szakasz a nyomon követett értékekkel bővíti az üzenetet:

Példa bemenet az LKV-fázisba 11:05-kor:

{ 
    "systemProperties":{ 
        "partitionKey":"pump", 
        "partitionId":5, 
        "timestamp":"2023-01-11T11:05:00Z" 
    }, 
    "qos":1, 
    "topic":"/assets/pump/#" 
    }, 
    "payload":{ 
        "runningState": true 
    } 
} 

Példakimenet az LKV-fázisból 11:05-kor:

{ 
    "systemProperties":{ 
        "partitionKey":"pump", 
        "partitionId":5, 
        "timestamp":"2023-01-11T11:05:00Z" 
    }, 
    "qos":1, 
    "topic":"/assets/pump/#" 
    }, 
    "payload":{ 
        "lkvtemperature":250, 
        "lkvtemperature_timestamp"":"2023-01-11T10:02:07Z" 
        "runningState": true 
    } 
}