Vytváření tras a filtrů událostí ve službě Azure Digital Twins

Tento článek vás provede procesem vytváření tras událostí pomocí Azure portalu, příkazů Azure CLI az dt route, rozhraní API pro datovou rovinu tras událostí a sady SDK .NET (C#).

Směrování oznámení událostí z Azure Digital Twins do podřízených služeb nebo připojených výpočetních prostředků je dvoustupňový proces: vytvoření koncových bodů a následné vytvoření tras událostí pro odesílání dat do těchto koncových bodů. Tento článek popisuje druhý krok, který nastavuje trasy pro řízení, které události se doručují do koncových bodů služby Azure Digital Twin. Pokud chcete pokračovat v tomto článku, měli byste mít už vytvořené koncové body .

Požadavky

  • Potřebujete účet Azure, který si můžete zdarma nastavit.

  • Ve svém předplatném Azure potřebujete instanci Azure Digital Twins. Pokud ještě instanci nemáte, můžete ji vytvořit pomocí kroků v části Nastavení instance a ověřování. Můžete použít následující hodnoty z nastavení, které můžete použít dále v tomto článku:

    • Název instance
    • Skupina prostředků

    Tyto podrobnosti najdete na webu Azure Portal po nastavení instance.

    Snímek obrazovky stránky Přehled instance služby Azure Digital Twins v Azure portálu. Název a skupina prostředků jsou zvýrazněné.

  • Vytvořte koncový bod podle pokynů v části Vytvoření koncových bodů. V tomto článku vytvoříte trasu pro odesílání dat do tohoto koncového bodu.

V dalším kroku proveďte následující pokyny, pokud máte v úmyslu používat Azure CLI a postupujte podle tohoto průvodce.

Příprava prostředí pro rozhraní příkazového řádku Azure

Vytvoření trasy události

Po vytvoření koncového bodu budete muset definovat trasu události , která skutečně odesílá data do koncového bodu. Tyto trasy umožňují vývojářům připojit tok událostí v celém systému a do podřízených služeb. Jedna trasa může povolit výběr více oznámení a typů událostí. Další informace o trasách událostí najdete v tématu Směrování událostí Azure Digital Twins.

Poznámka:

Než přejdete na vytvoření trasy, ujistěte se, že jste vytvořili aspoň jeden koncový bod, jak je popsáno v části Požadavky .

Pokud jste koncové body nasadili teprve nedávno, ověřte, že se dokončily, a teprve potom je zkuste použít pro novou trasu událostí. Pokud nasazení trasy selže, protože koncové body nejsou připravené, počkejte několik minut a zkuste to znovu.

Pokud tento tok skriptujete, můžete chtít zohlednit nasazení vytvořením 2 až 3 minuty čekání, než služba koncového bodu dokončí nasazení, než přejdete na nastavení trasy.

Definice trasy může obsahovat tyto prvky:

  • Název trasy, kterou chcete použít
  • Název koncového bodu, který chcete použít
  • Filtr, který definuje, které události se posílají do koncového bodu
    • Pokud chcete trasu zakázat, aby se neposílaly žádné události, použijte hodnotu filtru false
    • Pokud chcete povolit trasu, která nemá žádné konkrétní filtrování, použijte hodnotu filtru true
    • Podrobnosti o jakémkoli jiném typu filtru najdete v části Filtrování událostí .

Pokud název trasy neexistuje, žádné zprávy se nesměrují mimo Službu Azure Digital Twins. Pokud existuje název trasy a filtr je true, všechny zprávy se směrují do koncového bodu. Pokud existuje název trasy a přidá se jiný filtr, zprávy se filtrují podle filtru.

Trasy událostí je možné vytvořit pomocí Azure portálu, API datové roviny tras událostí nebo CLI příkazů az dt route. Zbývající část této části vás provede procesem vytváření.

Pokud chcete vytvořit trasu události, přejděte na stránku podrobností instance služby Azure Digital Twins na webu Azure Portal. Instanci najdete zadáním jejího názvu do panelu hledání na portálu.

V nabídce instance vyberte Trasy událostí. Potom na následující stránce Trasy událostí vyberte + Vytvořit trasu události.

Na stránce Vytvořit trasu události , která se otevře, zvolte minimálně:

  • Název trasy v poli Název
  • Koncový bod, který chcete použít k vytvoření trasy

Chcete-li povolit trasu, musíte také přidat filtr tras událostí alespoň true. (Ponechání výchozí hodnoty false vytváří trasu, ale neodesílají se na ni žádné události.) Chcete-li to provést, přepněte přepínač pro Rozšířený editor a zapište true do pole Filtr.

Snímek obrazovky s vytvořením trasy událostí pro vaši instanci na webu Azure Portal

Až budete hotovi, vyberte tlačítko Uložit a vytvořte trasu události.

Události filtru

Jak jsme popsali dříve, trasy mají pole filtru. Pokud je falsehodnota filtru ve vaší trase , do koncového bodu se neposílají žádné události.

Po povolení minimálního filtru true budou koncové body z Azure Digital Twins přijímat různé druhy událostí:

  • Telemetrie generovaná digitálními dvojčaty pomocí rozhraní API služby Azure Digital Twins
  • Notifikace o změně vlastností dvojčete, spuštěné při změnách vlastností pro jakékoli dvojče v instanci Azure Digital Twins
  • Události životního cyklu, aktivované při vytváření nebo odstranění dvojčat nebo relací

Typy událostí, které se odesílají, můžete omezit definováním konkrétnějšího filtru.

Poznámka:

Filtry rozlišují malá a velká písmena a musí odpovídat velikosti písmen v datové části. cs-CZ: U filtrů telemetrie se musí pouzdro filtru shodovat s pouzdrem v telemetrii odesílané zařízením.

Pokud chcete přidat filtr událostí při vytváření trasy události, použijte oddíl Přidat filtr tras událostí na stránce Vytvořit trasu události .

Můžete si buď vybrat některé základní běžné možnosti filtru, nebo použít pokročilé možnosti filtru k zápisu vlastních filtrů.

Použití základních filtrů

Pokud chcete použít základní filtry, rozbalte možnost Typy událostí a zaškrtněte políčka odpovídající událostem, které chcete odeslat do koncového bodu.

Snímek obrazovky vytvoření trasy události se základním filtrem na webu Azure Portal a zvýrazněním zaškrtávacích políček událostí

Tím se automaticky naplní textové pole filtru textem filtru, který jste vybrali:

Snímek obrazovky s vytvořením trasy události se základním filtrem na webu Azure Portal a zvýrazněním automaticky vyplněného textu filtru po výběru událostí

Použití rozšířených filtrů

Rovněž můžete použít možnost pokročilého filtru k vytvoření vlastních filtrů.

Pokud chcete vytvořit trasu událostí s rozšířenými možnostmi filtru, přepněte přepínač rozšířeného editoru a povolte ho. Potom můžete do pole Filtr napsat vlastní filtry událostí:

Snímek obrazovky s vytvořením trasy události s rozšířeným filtrem na webu Azure Portal

Podporované filtry tras

Tady jsou podporované filtry tras.

Název filtru Popis Filtrování textového schématu Podporované hodnoty
Pravda / Nepravda Umožňuje vytvořit trasu bez filtrování nebo zakázání trasy, aby se neposílaly žádné události. <true/false> true = trasa je povolená bez filtrování.
false = trasa je zakázaná.
Typ Typ události procházející vaší instancí digitálního dvojčete type = '<event-type>' Tady jsou možné hodnoty typu události:
Microsoft.DigitalTwins.Twin.Create
Microsoft.DigitalTwins.Twin.Delete
Microsoft.DigitalTwins.Twin.Update
Microsoft.DigitalTwins.Relationship.Create
Microsoft.DigitalTwins.Relationship.Update
Microsoft.DigitalTwins.Relationship.Delete
microsoft.iot.telemetry
Zdroj Název instance Služby Azure Digital Twins source = '<host-name>' Tady jsou možné hodnoty názvu hostitele:

Oznámení: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net

Telemetrie: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID>
Předmět Popis události v kontextu zdroje událostí subject = '<subject>' Zde jsou možné hodnoty předmětu:

Pro oznámení: Předmět je <twin-ID>
nebo formát identifikátoru URI pro předměty, které jsou jednoznačně identifikovány více částmi nebo ID:
<twin-ID>/relationships/<relationship-ID>

Pro telemetrii: Předmět je cesta ke komponentě (pokud je telemetrie odesílána z komponenty dvojčete), například comp1.comp2. Pokud telemetrie není vysílena z komponenty, pole předmětu je prázdné.
Datové schéma ID modelu DTDL dataschema = '<model-dtmi-ID>' Telemetrie: Schéma dat je ID modelu dvojčete nebo komponenty, která generuje telemetrii. Například dtmi:example:com:floor4;2

Pro oznámení (vytvoření nebo odstranění): K datovému schématu lze přistupovat v textu oznámení na adrese $body.$metadata.$model.

Pro oznámení (aktualizace): Ke schématu dat lze přistupovat v textu oznámení na $body.modelId.
Typ obsahu Typ obsahu datové hodnoty datacontenttype = '<content-type>' Typ obsahu je application/json
Specifikace verze Verze schématu událostí, které používáte specversion = '<version>' Verze musí být 1.0. Tato hodnota označuje schéma CloudEvents verze 1.0.
Text oznámení Odkazujte na libovolnou vlastnost v poli data oznámení. $body.<property> Podívejte se na Oznámení událostí pro příklady oznámení. Na libovolnou data vlastnost v poli lze odkazovat pomocí $body

Poznámka:

Azure Digital Twins v současné době nepodporuje filtrování událostí na základě polí v rámci pole. Toto omezení zahrnuje filtrování vlastností v patch části oznámení o změně digitálního dvojčete.

Následující datové typy jsou podporovány jako hodnoty vrácené odkazy na předchozí data:

Datový typ Příklad
Řetězec STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
CONTAINS(subject, '<twin-ID>')
Celé číslo $body.errorCode > 200
Dvojitá $body.temperature <= 5.5
Booleovská hodnota $body.poweredOn = true
Nula $body.prop != null

Při definování filtrů tras se podporují následující operátory:

Rodina Operátory Příklad
Logický A, NEBO, ( ) (type != 'microsoft.iot.telemetry' OR datacontenttype = 'application/json') OR (specversion != '1.0')
Porovnání <, <=, >>, =, =, != $body.temperature <= 5.5

Při definování filtrů tras se podporují následující funkce:

Funkce Popis Příklad
STARTS_WITH(x;y) Vrátí hodnotu true, pokud hodnota x začíná řetězcem y. STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
ENDS_WITH(x;y) Vrátí hodnotu true, pokud hodnota x končí řetězcem y. ENDS_WITH($body.$metadata.$model, 'floor;1')
CONTAINS(x;y) Vrátí hodnotu true, pokud hodnota x obsahuje řetězec y. CONTAINS(subject, '<twin-ID>')

Když implementujete nebo aktualizujete filtr, může trvat několik minut, než se změna projeví v datovém kanálu.

Monitorování tras událostí

Metriky směrování, jako je počet, latence a míra selhání, se dají zobrazit na webu Azure Portal.

Informace o zobrazení a správě metrik pomocí služby Azure Monitor najdete v tématu Analýza metrik pomocí Průzkumníka metrik služby Azure Monitor. Úplný seznam metrik směrování dostupných pro Azure Digital Twins najdete v tématu Metriky směrování.

Další kroky

Přečtěte si o různých typech zpráv událostí, které můžete přijímat: