Sdílet prostřednictvím


Mapování telemetrie při příchozím přenosu dat do IoT Central

Mapování dat umožňuje transformovat složitou telemetrii zařízení na strukturovaná data uvnitř IoT Central. Pro každé zařízení můžete namapovat konkrétní cestu JSON ve zprávě telemetrie zařízení na alias. Alias je popisný název cíle, na který mapujete. IoT Central pomocí mapování transformuje telemetrii na cestě do IoT Central. Namapovanou telemetrii můžete použít k:

  • Vytváření šablon zařízení a prostředí pro správu zařízení v IoT Central
  • Normalizuje telemetrii z různých zařízení mapováním cest JSON na více zařízeních na běžný alias.
  • Export do cílů mimo IoT Central

Tip

Pokud chcete automaticky vygenerovat šablonu zařízení z nemodelované telemetrie, přečtěte si téma Automatické generování šablony zařízení.

Diagram, který shrnuje proces mapování ve službě IoT Central

Následující video vás provede procesem mapování dat:

Mapování telemetrie pro vaše zařízení

Mapování používá výraz JSONPath k identifikaci hodnoty v příchozí zprávě telemetrie k namapování na alias.

Výraz JSONPath začíná znakem $ , který odkazuje na kořenový prvek zprávy. Následuje $ posloupnost podřízených prvků oddělených hranatými závorkami. Příklad:

$["messages"]["tmp"]

$["opcua"]["payload"][0]["value"]

$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]

IoT Central používá podmnožinu syntaxe výrazů JSONPath:

  • Každý segment může být pouze nezáporné číslo nebo řetězec uzavřený v uvozovkách.
  • Segment nemůže obsahovat zpětné lomítko, hranaté závorky nebo dvojité uvozovky.
  • Cesta JSON nesmí překročit 1 000 znaků.

Pokud chcete ve své aplikaci IoT Central vytvořit mapování, zvolte jednu z následujících možností a přejděte na panel Dat mapy:

  • Na libovolné stránce zařízení vyberte Spravovat data mapy zařízení>:

    Snímek obrazovky znázorňující položku nabídky **Mapovat data**.

  • V zobrazení nezpracovaných dat pro vaše zařízení rozbalte libovolnou zprávu telemetrie, najeďte myší na cestu a vyberte Přidat alias. Otevře se panel Dat mapy s výrazem JSONPath zkopírovaným do pole cesty JSON:

    Snímek obrazovky znázorňující možnost **Přidat alias** v zobrazení **Nezpracovaná data**

Na levé straně datového panelu Mapy se zobrazí nejnovější zpráva ze zařízení. Najeďte myší na libovolnou část dat a vyberte Přidat alias. Výraz JSONPath se zkopíruje do cesty JSON. Přidejte název aliasu, který nesmí být delší než 64 znaků. Alias nemůžete použít k odkazu na pole v komplexním objektu definovaném v šabloně zařízení.

Přidejte tolik mapování, kolik potřebujete, a pak vyberte Uložit:

Snímek obrazovky se zobrazením **Mapovat data** zobrazující cestu a alias JSON

Pro dané zařízení:

  • Žádné dvě mapování nesmí mít stejnou cestu JSON.
  • Žádné dvě mapování nesmí mít stejný alias.

Tip

Možná budete muset několik minut počkat, než zařízení odešle zprávu telemetrie, která se zobrazí na levém panelu. Pokud na levém panelu stále nejsou žádná data, můžete do pole cesty JSON ručně zadat výraz JSONPath.

Pokud chcete ověřit, že IoT Central mapuje telemetrii, přejděte do zobrazení nezpracovaných dat pro vaše zařízení a zkontrolujte _mappeddata část:

Snímek obrazovky znázorňující oddíl mapovaných dat ve zprávě v zobrazení **Nezpracovaná data**

Pokud po aktualizaci nezpracovaných dat několikrát nevidíte mapovaná data , zkontrolujte, jestli výraz JSONPath, který používáte, odpovídá struktuře zprávy telemetrie.

U zařízení IoT Edge se mapování dat vztahuje na telemetrii ze všech modulů a centra IoT Edge. Mapování nemůžete použít na konkrétní modul Azure IoT Edge.

U zařízení přiřazených k šabloně zařízení nemůžete mapovat data pro komponenty ani zděděná rozhraní. Před přiřazením k šabloně zařízení ale můžete namapovat všechna data ze zařízení.

Správa mapování

Pokud chcete zobrazit, upravit nebo odstranit mapování, přejděte na stránku Mapped aliases (Mapped aliases ). Vyberte mapování, které chcete upravit nebo odstranit. Můžete vybrat více mapování a odstranit je současně:

Snímek obrazovky znázorňující zobrazení **Mapované aliasy** s tlačítky pro úpravy a odstranění

Ve výchozím nastavení zahrnují exporty dat z IoT Central mapovaná data. Pokud chcete mapovaná data vyloučit, použijte v exportu dat transformaci dat.

Mapování nemodelované telemetrie

Můžete mapovat nemodelovanou telemetrii, včetně telemetrie z nemodelovaných komponent. Například s ohledem na workingSet telemetrii definovanou v kořenové komponentě a temperature telemetrii definovanou v termostatické komponentě znázorněné v následujícím příkladu:

{
  "_unmodeleddata": {
    "workingSet": 74
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:22:40.257Z"
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 44
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:21:48.69Z"
}

Tuto telemetrii můžete mapovat pomocí následujících definic mapování:

  • $["workingSet"] ws
  • $["temperature"] temp

Poznámka:

Do definice mapování nezahrnujte název komponenty.

Výsledky těchto pravidel mapování vypadají jako následující příklady:

{
  "telemetries": {
    "workingSet": 84,
    "_mappeddata": {
      "ws": 84
    }
  }
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 12
    },
    "_mappeddata": {
      "thermostat2": {
        "__t": "c",
        "temp": 12
      }
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:31:21.088Z"
}

Teď můžete pomocí mapovaných aliasů zobrazit telemetrii na grafu nebo řídicím panelu. Při exportu telemetrie můžete také použít mapované aliasy.