Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje proces, který služba Azure Digital Twins používá k odesílání dat událostí, a to jak pro interní směrování událostí v rámci služby Azure Digital Twins, tak pro odesílání dat událostí externě do podřízených služeb nebo připojených výpočetních prostředků mimo službu.
Směrování oznámení událostí ze služby Azure Digital Twins 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 se podrobněji zabývá jednotlivými koncepty. Vysvětluje také, co se stane, když se koncovému bodu nepodaří včas doručit událost (proces známý jako archivace nedoručitelných zpráv).
Přehled směrování událostí
Existují dva hlavní scénáře pro odesílání dat Azure Digital Twins a trasy událostí se používají k dosažení obou těchto postupů:
- Odesílání dat událostí z jednoho dvojčete v grafu Azure Digital Twins do druhého Pokud se například změní vlastnost jednoho digitálního dvojčete, můžete na základě aktualizovaných dat upozornit a aktualizovat další digitální dvojče.
- Odesílání dat mimo Službu Azure Digital Twins do podřízených datových služeb pro větší úložiště nebo zpracování Pokud už například používáte Azure Maps, můžete chtít přispět daty Azure Digital Twins k vylepšení řešení pomocí integrovaného modelování nebo dotazů.
V případě jakéhokoli cíle události funguje trasa událostí odesíláním dat událostí z Azure Digital Twins do vlastních definovaných koncových bodů ve vašich předplatných. Pro koncové body se v současné době podporují tři služby Azure: Event Hubs, Event Grid a Service Bus. Každá z těchto služeb Azure může být připojená k jiným službám a funguje jako prostředník, odesílá data do konečných cílů, jako je Azure Maps, nebo zpět do azure Digital Twins pro závislé aktualizace grafu.
Následující diagram znázorňuje tok dat událostí prostřednictvím většího řešení IoT, které zahrnuje odesílání dat Azure Digital Twins prostřednictvím koncových bodů do jiných služeb Azure a zpět do služby Azure Digital Twins:
Pro přenášení dat mimo Azure Digital Twins jsou typickými cíli tras událostí Azure Maps, úložiště a analytická řešení. Azure Digital Twins implementuje aspoň jednou doručení dat generovaných do služeb výchozího přenosu dat.
Pro směrování událostí interního digitálního dvojčete ve stejném řešení Azure Digital Twins pokračujte na další část.
Směrování interních událostí digitálního dvojčete
Trasy událostí jsou mechanismus, který se používá ke zpracování událostí v rámci grafu dvojčat a k odesílání dat mezi digitálními dvojčaty. Tento druh zpracování událostí se provádí propojením datových toků událostí přes Event Grid do výpočetních prostředků, jako jsou Azure Functions. Tyto funkce pak definují, jak by dvojčata měla přijímat události a reagovat na ně.
Pokud výpočetní prostředek chce upravit graf dvojčat na základě události, kterou obdržel skrze trasu událostí, je užitečné, aby věděl předem, které dvojče má být upraveno. Zpráva události obsahuje také ID zdrojového dvojčete, které zprávu odeslalo, takže výpočetní prostředek může použít dotazy nebo procházet relacemi k vyhledání cílového dvojčete pro požadovanou operaci.
Výpočetní prostředek také potřebuje nezávisle nastavit oprávnění zabezpečení a přístupu.
Projděte si proces nastavení funkce Azure pro zpracování událostí digital twin podle pokynů v tématu Nastavení zpracování událostí twin-to-twin.
Vytváření koncových bodů
Aby mohli vývojáři definovat trasu události, musí nejdřív definovat koncové body. Koncový bod je cíl mimo Azure Digital Twins, který podporuje směrové připojení. Mezi podporované cíle patří:
- Vlastní témata event Gridu
- Centra událostí
- Služební autobus
K vytvoření koncového bodu můžete použít rozhraní REST API služby Azure Digital Twins, příkazy rozhraní příkazového řádku nebo Azure Portal.
Při definování koncového bodu budete muset zadat:
- Název koncového bodu
- Typ koncového bodu (Event Grid, Event Hubs nebo Service Bus)
- Primární připojovací řetězec a sekundární připojovací řetězec pro ověření
- Cesta k tématu koncového bodu, například
your-topic.westus2.eventgrid.azure.net
Volitelně můžete vytvořit koncový bod s ověřováním založeným na identitě a použít koncový bod se systémem přiřazenou nebo spravovanou identitou přiřazenou uživatelem. Tato možnost je dostupná jenom pro koncové body služby Event Hubs a Service Bus (nepodporuje se pro Event Grid).
Rozhraní API koncových bodů, která jsou k dispozici v kontrolní rovině, jsou:
- Vytvoření koncového bodu
- Získání seznamu koncových bodů
- Získání koncového bodu podle názvu
- Odstraňte koncový bod podle jména
Podrobné pokyny k vytvoření koncového bodu najdete v tématu Vytvoření koncových bodů.
Vytváření tras událostí
K vytvoření trasy událostí můžete použít rozhraní REST API služby Azure Digital Twins, příkazy rozhraní příkazového řádku nebo Azure Portal.
Tady je příklad vytvoření trasy události v rámci klientské aplikace pomocí CreateOrReplaceEventRouteAsyncvolání sady .NET (C#) SDK :
string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
DigitalTwinsEventRouteNejprve se vytvoří objekt a konstruktor převezme název koncového bodu. TotoendpointNamepole identifikuje koncový bod, jako je Event Hubs, Event Grid nebo Service Bus. Tyto koncové body musí být vytvořeny ve vašem předplatném a připojeny k Azure Digital Twins pomocí řídicích rozhraní API před tím, než zahájíte toto registrační volání.Objekt trasy události má také pole Filtru , které lze použít k omezení typů událostí, které následují po této trase. Filtr
trueumožňuje trasu bez dalšího filtrování (filtrfalsezakazuje trasu).Tento objekt trasy události se pak předá do
CreateOrReplaceEventRouteAsync, spolu s názvem trasy.
Návod
Všechny funkce SDK mají synchronní a asynchronní verze.
Podrobné pokyny k vytváření tras událostí najdete v tématu Vytváření tras a filtrů.
Události nedoručených dopisů
Pokud koncový bod nemůže událost doručit během určitého časového období nebo po několika pokusech o doručení události, může odeslat nedoručenou událost do účtu úložiště. Tento proces se označuje jako dead-lettering. Azure Digital Twins nedoručí událost, když je splněna jedna z následujících podmínek:
- Událost není doručena během doby životnosti
- Počet pokusů o doručení události překročil limit.
Pokud je splněna jedna z podmínek, událost se zahodí nebo odloží do nevyřízené pošty. Ve výchozím nastavení není u každého koncového bodu zapnuto dead-lettering. Pokud ho chcete povolit, musíte při vytváření koncového bodu zadat účet úložiště, ve kterém se budou uchovávat nedoručené události. Z tohoto účtu úložiště pak můžete načíst události a vyřešit tak dodávky.
Před nastavením umístění nedoručených dopisů musíte mít účet úložiště s kontejnerem. Při vytváření koncového bodu zadáte adresu URL pro tento kontejner. Nedoručitelná zpráva je k dispozici jako adresa URL kontejneru s tokenem SAS. Tento token potřebuje pouze write oprávnění pro cílový kontejner v rámci účtu úložiště. Plně vytvořená adresa URL bude ve formátu: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>
Další informace o tokenech SAS najdete v tématu: Udělení omezeného přístupu k prostředkům azure Storage pomocí sdílených přístupových podpisů (SAS)
Informace o nastavení koncového bodu s nedoručenými dopisy najdete v tématu Možnosti koncového bodu: Nedoručované dopisy.
Typy zpráv událostí
Různé typy událostí ve službě IoT Hub a Azure Digital Twins vytvářejí různé typy oznámení, jak je popsáno níže.
| Typ oznámení | Název zdroje směrování | Vygenerováno z... |
|---|---|---|
| Oznámení o změně digitálního dvojčete | Oznámení o změně digitálního dvojčete | jakákoli změna vlastnosti digitálního dvojčete |
| Oznámení o životním cyklu digitálního dvojčete | Oznámení o životním cyklu digitálního dvojčete | jakákoli operace vytvoření nebo odstranění digitálního dvojčete |
| Oznámení o změně vztahu digitálního dvojčete | Oznámení o změně vztahu digitálního dvojčete | jakákoli změna vztahu digitálního dvojčete |
| Telemetrické zprávy digitálního dvojčete | Zprávy telemetrie | libovolná telemetrická zpráva |
Další kroky
Pokračujte podrobnými pokyny k nastavení koncových bodů a tras událostí:
Nebo podle tohoto návodu nastavte funkci Azure Functions pro zpracování událostí typu dvojčete-dvojčete v rámci služby Azure Digital Twins: