Dirigera händelser inom och utanför Azures digitala dubblaRoute events within and outside of Azure Digital Twins

Azure Digitals dubbla använder händelse vägar för att skicka data till konsumenter utanför tjänsten.Azure Digital twins uses event routes to send data to consumers outside the service.

Det finns två viktiga fall för att skicka Azure Digitals dubbla data:There are two major cases for sending Azure Digital Twins data:

  • Skicka data från en mitt i det digitala Azure-diagrammet till en annan.Sending data from one twin in the Azure Digital Twins graph to another. Om du till exempel har en egenskap på en digital, dubbla ändringar kanske du vill meddela och uppdatera en annan digital i enlighet med detta.For instance, when a property on one digital twin changes, you may want to notify and update another digital twin accordingly.
  • Skicka data till underordnade data tjänster för ytterligare lagring eller bearbetning (kallas även utgående data).Sending data to downstream data services for additional storage or processing (also known as data egress). Till exempel,For instance,
    • Ett sjukhus kan vilja skicka data för Azure Digitals dubbla data till Time Series Insights (TSD)för att registrera Time Series-data för handwashing-relaterade händelser för Mass analys.A hospital may want to send Azure Digital Twins event data to Time Series Insights (TSI), to record time series data of handwashing-related events for bulk analytics.
    • En verksamhet som redan använder Azure Maps kanske vill använda Azure Digital-dubbla för att förbättra sin lösning.A business that is already using Azure Maps may want to use Azure Digital Twins to enhance their solution. De kan snabbt aktivera en Azure-karta när du har konfigurerat Azure Digitals-enheter, ta Azure Map-entiteter i Azure Digitals-enheter som digitala delar i den dubbla grafen eller kör kraftfulla frågor som använder sina Azure Maps och Azure Digitals sammanställda data tillsammans.They can quickly enable an Azure Map after setting up Azure Digital Twins, bring Azure Map entities into Azure Digital Twins as digital twins in the twin graph, or run powerful queries leveraging their Azure Maps and Azure Digital Twins data together.

Händelse vägar används för båda dessa scenarier.Event routes are used for both of these scenarios.

Om händelse vägarAbout event routes

Med en händelse väg kan du skicka händelse data från digitala sändningar i Azure Digitals dubbla till anpassade slut punkter i dina prenumerationer.An event route lets you send event data from digital twins in Azure Digital Twins to custom-defined endpoints in your subscriptions. Tre Azure-tjänster stöds för närvarande för slut punkter: händelsehubben, Event Gridoch Service Bus.Three Azure services are currently supported for endpoints: Event Hub, Event Grid, and Service Bus. Var och en av dessa Azure-tjänster kan anslutas till andra tjänster och fungerar som mellanman och skickar data till slutgiltiga destinationer, till exempel TSD eller Azure Maps för vilken bearbetning du behöver.Each of these Azure services can be connected to other services and acts as the middleman, sending data along to final destinations such as TSI or Azure Maps for whatever processing you need.

I följande diagram illustreras flödet av händelse data via en större IoT-lösning med en digital Azure-dataaspekt:The following diagram illustrates the flow of event data through a larger IoT solution with an Azure Digital Twins aspect:

Azure Digital sammanflätar data via slut punkter till flera underordnade tjänster

Vanliga underordnade mål för händelse vägar är resurser som TSD, Azure Maps, lagring och analys lösningar.Typical downstream targets for event routes are resources like TSI, Azure Maps, storage, and analytics solutions.

Händelse vägar för interna digitala dubbla händelserEvent routes for internal digital twin events

Händelse vägar används också för att hantera händelser i den dubbla grafen och skicka data från digitala dubbla till digitala dubbla.Event routes are also used to handle events within the twin graph and send data from digital twin to digital twin. Detta görs genom att du ansluter händelse vägar via Event Grid för att beräkna resurser, till exempel Azure Functions.This is done by connecting event routes through Event Grid to compute resources, such as Azure Functions. Dessa funktioner definierar sedan hur dubbla ska ta emot och svara på händelser.These functions then define how twins should receive and respond to events.

När en beräknings resurs vill ändra det dubbla diagrammet baserat på en händelse som tas emot via händelse vägen, är det bra att veta vilken som är den som ska ändras i förväg.When a compute resource wants to modify the twin graph based on an event that it received via event route, it is helpful for it to know which twin it wants to modify ahead of time.

Alternativt innehåller händelse meddelandet också ID: t för den källa som skickade meddelandet, så att beräknings resursen kan använda frågor eller passera relationer för att hitta ett mål som är två för önskad åtgärd.Alternatively, the event message also contains the ID of the source twin that sent the message, so the compute resource can use queries or traverse relationships to find a target twin for the desired operation.

Beräknings resursen måste också upprätta säkerhets-och åtkomst behörigheter oberoende av varandra.The compute resource also needs to establish security and access permissions independently.

Information om hur du konfigurerar en Azure-funktion för att bearbeta digitala dubbla händelser finns i How-to: Konfigurera en Azure-funktion för bearbetning av data.To walk through the process of setting up an Azure function to process digital twin events, see How-to: Set up an Azure function for processing data.

Skapa en slutpunktCreate an endpoint

För att kunna definiera en händelseväg måste utvecklarna först definiera slutpunkter.To define an event route, developers first must define endpoints. En slut punkt är ett mål utanför Azures digitala dubbla, som har stöd för en väg anslutning.An endpoint is a destination outside of Azure Digital Twins that supports a route connection. Destinationer som stöds är:Supported destinations include:

  • Event Grid anpassade ämnenEvent Grid custom topics
  • HändelsehubbEvent Hub
  • Service BusService Bus

Om du vill skapa en slut punkt kan du använda Azure Digitals REST-API: er, CLI-kommandoneller Azure Portal.To create an endpoint, you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.

När du definierar en slut punkt måste du ange:When defining an endpoint, you'll need to provide:

  • Slut punktens namnThe endpoint's name
  • Slut punkts typ (Event Grid, Händelsehubben eller Service Bus)The endpoint type (Event Grid, Event Hub, or Service Bus)
  • Den primära anslutnings strängen och den sekundära anslutnings strängen som ska autentiserasThe primary connection string and secondary connection string to authenticate
  • Avsnitts Sök vägen för slut punkten, till exempel Your-topic.westus2.eventgrid.Azure.netThe topic path of the endpoint, such as your-topic.westus2.eventgrid.azure.net

Slut punkts-API: erna som är tillgängliga i kontroll planet är:The endpoint APIs that are available in control plane are:

  • Skapa slut punktCreate endpoint
  • Hämta lista över slut punkterGet list of endpoints
  • Hämta slut punkt efter namnGet endpoint by name
  • Ta bort slut punkt efter namnDelete endpoint by name

Skapa en händelse vägCreate an event route

Om du vill skapa en händelse väg kan du använda Azure Digitals REST-API: er, CLI-kommandoneller Azure Portal.To create an event route, you can use the Azure Digital Twins REST APIs, CLI commands, or the Azure portal.

Här är ett exempel på hur du skapar en händelse väg i ett klient program med hjälp av CreateOrReplaceEventRouteAsync .net (C#) SDK- anropet:Here is an example of creating an event route within a client application, using the CreateOrReplaceEventRouteAsync .NET (C#) SDK call:

string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
  1. Först skapas ett DigitalTwinsEventRoute -objekt och konstruktorn tar namnet på en slut punkt.First, a DigitalTwinsEventRoute object is created, and the constructor takes the name of an endpoint. I det här endpointName fältet identifieras en slut punkt som händelsehubben, Event Grid eller Service Bus.This endpointName field identifies an endpoint such as an Event Hub, Event Grid, or Service Bus. De här slut punkterna måste skapas i din prenumeration och anslutas till Azure Digital-dubbla med kontroll Plans-API: er innan det här registrerings anropet görs.These endpoints must be created in your subscription and attached to Azure Digital Twins using control plane APIs before making this registration call.

  2. Objektet för händelse vägen har också ett filter fält som kan användas för att begränsa vilka typer av händelser som följer den här vägen.The event route object also has a Filter field, which can be used to restrict the types of events that follow this route. Ett filter för true aktiverar vägen utan ytterligare filtrering (ett filter av false inaktiverar vägen).A filter of true enables the route with no additional filtering (a filter of false disables the route).

  3. Objektet för händelse vägen skickas sedan till CreateOrReplaceEventRouteAsync , tillsammans med ett namn för vägen.This event route object is then passed to CreateOrReplaceEventRouteAsync, along with a name for the route.

Tips

Alla SDK-funktioner ingår i synkrona och asynkrona versioner.All SDK functions come in synchronous and asynchronous versions.

Händelser för obeställbara meddelandenDead-letter events

När en slut punkt inte kan leverera en händelse inom en viss tids period eller när händelsen försöker leverera händelsen ett visst antal gånger, kan den skicka den ej levererade händelsen till ett lagrings konto.When an endpoint can't deliver an event within a certain time period or after trying to deliver the event a certain number of times, it can send the undelivered event to a storage account. Den här processen kallas för obeställbara meddelanden.This process is known as dead-lettering. Digitala Azure-dubblare kommer att döda en händelse när något av följande villkor uppfylls.Azure Digital Twins will dead-letter an event when one of the following conditions is met.

  • Händelsen har inte levererats inom Time-to-Live-periodenEvent isn't delivered within the time-to-live period
  • Antalet försök att leverera händelsen har överskridit gränsenThe number of tries to deliver the event has exceeded the limit

Om något av villkoren är uppfyllt tas händelsen bort eller tas bort från kön.If either of the conditions is met, the event is dropped or dead-lettered. Som standard aktiverar varje slut punkt inte obeställbara meddelanden.By default, each endpoint does not turn on dead-lettering. Om du vill aktivera det måste du ange ett lagrings konto som ska innehålla ej levererade händelser när slut punkten skapas.To enable it, you must specify a storage account to hold undelivered events when creating the endpoint. Du kan sedan hämta händelser från det här lagrings kontot för att lösa leveranser.You can then pull events from this storage account to resolve deliveries.

Innan du anger platsen för obeställbara meddelanden måste du ha ett lagrings konto med en behållare.Before setting the dead-letter location, you must have a storage account with a container. Du anger URL: en för den här behållaren när du skapar slut punkten.You provide the URL for this container when creating the endpoint. Obeställbara meddelanden anges som en behållar-URL med en SAS-token.The dead-letter is provided as a container URL with a SAS token. Denna token behöver bara write behörighet för mål behållaren i lagrings kontot.That token needs only write permission for the destination container within the storage account. Den fullständigt utformade URL: en kommer att ha formatet: https://<storageAccountname>.blob.core.windows.net/<containerName>?<SASToken>The fully formed URL will be in the format of: https://<storageAccountname>.blob.core.windows.net/<containerName>?<SASToken>

Mer information om SAS-token finns i: bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av signaturer för delad åtkomst (SAS)To learn more about SAS tokens, see: Grant limited access to Azure Storage resources using shared access signatures (SAS)

Information om hur du skapar en slut punkt med obeställbara meddelanden finns i så här gör du för att Hantera slut punkter och vägar i Azure Digitals dubbla (API: er och CLI).To learn how to set up an endpoint with dead-lettering, see How-to: Manage endpoints and routes in Azure Digital Twins (APIs and CLI).

Typer av händelse meddelandenTypes of event messages

Olika typer av händelser i IoT Hub och Azure Digitals skapar olika typer av meddelanden, enligt beskrivningen nedan.Different types of events in IoT Hub and Azure Digital Twins produce different types of notification messages, as described below.

MeddelandetypNotification type Namn på routningskällaRouting source name Genererad från...Generated from...
Ändringsmeddelande för digital tvillingDigital Twin Change Notification Ändringsmeddelande för digital tvillingDigital Twin Change Notification en digital, dubbel egenskaps ändringany digital twin property change
Livscykelmeddelande för digital tvillingDigital Twin Lifecycle Notification Livscykelmeddelande för digital tvillingDigital Twin Lifecycle Notification en digital, dubbel Create-eller Delete-åtgärdany digital twin create or delete operation
Ändringsmeddelande för digital tvilling-relationDigital Twin Relationship Change Notification Ändringsmeddelande för digital tvilling-relationDigital Twin Relationship Change Notification en digital, dubbel Relations ändringany digital twin relationship change
Telemetrimeddelanden för digital tvillingDigital Twin Telemetry Messages TelemetrimeddelandenTelemetry Messages telemetri-meddelandeany telemetry message

Nästa stegNext steps

Se så här konfigurerar och hanterar du en händelse väg:See how to set up and manage an event route:

Du kan också se hur du använder Azure Functions för att dirigera händelser i Azure Digitals:Or, see how to use Azure Functions to route events within Azure Digital Twins: