Sdílet prostřednictvím


Použití posledních známých hodnot v kanálu Azure IoT Data Processor Preview

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

Pomocí poslední fáze známé hodnoty (LKV) v kanálu zpracovatele dat udržujte aktuální a úplný záznam vašich dat. Fáze LKV sleduje nejnovější hodnoty párů klíč-hodnota pro zprávy v kanálu. Fáze pak může rozšířit zprávy pomocí sledovaných hodnot LKV. Sledování a rozšiřování posledních známých hodnot jsou důležité pro podřízené procesy, které se spoléhají na:

  • Více datových bodů časových řad v určitém časovém razítku
  • Datové části, které mají vždy hodnotu pro určitý klíč.

V kanálu zpracování dat je fáze LKV volitelnou fází. Při použití fáze LKV můžete:

  • Přidejte do kanálu několik fází LKV. Každá fáze LKV může sledovat více hodnot.
  • Obohaťte zprávy o uložených hodnotách LKV a zajistěte, aby data zůstala úplná a komplexní.
  • Udržujte LKV automaticky aktualizované nejnovějšími hodnotami z příchozích zpráv.
  • Sledování LKV samostatně pro každý logický oddíl Fáze LKV funguje nezávisle v každém logickém oddílu.
  • Nakonfigurujte dobu vypršení platnosti pro každou sledovaný LKV tak, aby spravovala dobu trvání, po které zůstane platná. Tento ovládací prvek pomáhá zajistit, aby se zprávy neobohačily zastaralými hodnotami.

Fáze LKV udržuje chronologickou integritu dat. Fáze zajišťuje, aby zprávy s dřívějšími časovými razítky nepřepsaly ani nenahrazovaly LKV zprávami, které mají pozdější časové razítko.

Fáze LKV rozšiřuje příchozí zprávy o poslední známé hodnoty, které sleduje. Tyto rozšířené hodnoty představují dříve zaznamenaná data a nemusí nutně představovat aktuální hodnoty v reálném čase. Ujistěte se, že toto chování odpovídá očekáváním zpracování dat.

Požadavky

Ke konfiguraci a použití fáze agregovaného kanálu potřebujete nasazenou instanci procesoru dat Azure IoT Preview, která zahrnuje volitelnou komponentu Zpracovatel dat.

Konfigurace fáze

Konfigurace JSON fáze LKV definuje podrobnosti fáze. Pokud chcete vytvořit fázi, můžete pracovat s uživatelským rozhraním založeným na formuláři nebo zadat konfiguraci JSON na kartě Upřesnit :

Pole Popis Požaduje se Výchozí Příklad
Název Uživatelem definovaný název fáze. Ano - lkv1
Popis Popis fáze definovaný uživatelem No - lkv1
Cesta vstupu vlastností > Cesta klíče ke sledování. Ano - .payload.temperature
Cesta výstupu vlastností > Cesta k umístění ve výstupní zprávě pro zápis LKV. Ano - .payload.temperature_lkv
Doba vypršení platnosti vlastností > Sledované hodnoty LKV jsou platné pouze pro uživatelem definovaný časový interval, po kterém se výstupní zpráva neobohačí o uloženou hodnotu. Pro každý klíč LKV se sleduje vypršení platnosti. No - 10h
Cesta časového razítka vlastností > Cesta k umístění ve výstupní zprávě pro zápis časového razítka, kdy byl LKV naposledy aktualizován. No False -

Pokud zahrnete cestu časového razítka, pomůže vám to přesně pochopit, kdy byly zaznamenány LKV a zvyšuje transparentnost a sledovatelnost.

inputPath rovná se outputPath

Odchozí zpráva je buď skutečná hodnota zprávy, nebo LKV, pokud v datové části zprávy chybí sledovaný klíč. Každá příchozí hodnota má prioritu a fáze ji nepřepíše pomocí LKV. Pokud chcete zjistit, jestli je hodnota zprávy hodnotou LKV, použijte cestu časového razítka. Cesta časového razítka je zahrnuta pouze v odchozí zprávě, pokud je hodnota ve zprávě sledovanýM LKV.

inputPath není rovno outputPath

Fáze zapíše LKV do outputPath všech příchozích zpráv. Pomocí této konfigurace můžete sledovat rozdíl mezi hodnotami v následných datových částech zpráv.

Vzorová konfigurace

Následující příklad ukazuje ukázkovou zprávu pro fázi LKV se zprávou přicházející v 10:02 a datovou částí, která obsahuje sledované .payload.temperature hodnoty LKV:

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

Konfigurace LKV:

Pole Hodnota
Vstupní cesta* .payload.temperature
Výstupní cesta .payload.lkvtemperature
Čas vypršení platnosti 10h
Cesta časového razítka .payload.lkvtemperature_timestamp

Sledované hodnoty LKV jsou:

  • .payload.temperature je 250.
  • Časové razítko LKV je 2023-01-11T10:02:07Z

U zprávy, která dorazí v 11:05 s datovou částí, která nemá vlastnost teploty, fáze LKV tuto zprávu rozšiřuje o sledované hodnoty:

Příklad vstupu do fáze LKV v 11:05:

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

Příklad výstupu z fáze LKV ve 11:05:

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