Sdílet prostřednictvím


Filtrování dat 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í fáze filtru vyfiltrujte zprávy, které nepotřebujete k dalšímu zpracování v kanálu. Fáze vygeneruje původní zprávu do fáze filtru beze změny, pokud jsou splněna kritéria filtru, jinak fáze zprávu z kanálu zahodí.

  • Každý oddíl kanálu filtruje zprávy nezávisle na ostatních oddílech.
  • Výstupem fáze filtru je původní zpráva, pokud ji fáze nevyfiltruje.

Požadavky

Pokud chcete nakonfigurovat a použít fázi kanálu filtru, potřebujete nasazenou instanci procesoru dat Azure IoT Preview, která zahrnuje volitelnou komponentu Zpracovatel dat.

Konfigurace fáze

Konfigurace JSON fáze filtru 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 :

Jméno Hodnota Požaduje se Výchozí Příklad
Zobrazované jméno Název, který se má zobrazit v uživatelském rozhraní zpracovatele dat. Ano - Filter1
Popis Uživatelsky přívětivý popis toho, co fáze filtru dělá. No - Filter out anomalies
Dotaz Výraz jq Ano - .payload.temperature > 0 and .payload.pressure < 50

Výraz jq

Filtrování dotazů v Zpracovateli dat používá jazyk jq k definování podmínky filtru:

  • Jq zadaný v dotazu musí být syntakticky platný.
  • Výsledkem dotazu filtru musí být logická hodnota.
  • Zprávy, které se vyhodnotí jako true , se vygenerují beze změny z fáze filtru do dalších fází pro další zpracování. Zprávy, které se vyhodnotí jako false vyřazené z kanálu
  • Všechny zprávy, pro které filtr nevrací logický výsledek, se považují za případ chyby a zahodí se z kanálu.
  • Fáze filtru dodržuje stejné omezení použití jq, jak je definováno v průvodci výrazem jq.

Když vytvoříte filtrovací dotaz, který se použije ve fázi filtru:

  • Otestujte filtrovací dotaz se zprávami a ujistěte se, že se vrátí logický výsledek.
  • Nakonfigurujte dotaz filtru na základě toho, jak zpráva dorazí do fáze filtru.
  • Další informace o vytváření výrazů filtru najdete vprůvodci výrazy jq.

Vzorová konfigurace

Následující příklad JSON ukazuje úplnou konfiguraci fáze filtru:

{ 
    "displayName": "Filter name", 
    "description": "Filter description", 
    "query": "(.properties.responseTopic | contains(\"bar\")) or (.properties.responseTopic | contains(\"baz\")) and (.payload | has(\"temperature\")) and (.payload.temperature > 0)"
}

Tento filtr kontroluje zprávy, které .properties.responseTopic obsahují bar nebo baz a datová část zprávy má vlastnost volanou temperature s hodnotou větší než 0.