Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano proces, który Azure Digital Twins używa do przesyłania danych zdarzeń, zarówno poprzez kierowanie zdarzeń wewnętrznie w ramach Azure Digital Twins, jak i wysyłania danych zdarzeń na zewnątrz do usług niższego poziomu lub połączonych zasobów obliczeniowych poza tą usługą.
Routing powiadomień o zdarzeniach z usługi Azure Digital Twins jest procesem dwuetapowym: tworzenie punktów końcowych, a następnie tworzenie tras zdarzeń w celu wysyłania danych do tych punktów końcowych. Ten artykuł zawiera bardziej szczegółowe informacje na temat każdego z tych pojęć. Wyjaśniono również, co się stanie, gdy punkt końcowy nie dostarczy zdarzenia w czasie (proces znany jako utracony zapis).
Omówienie routingu zdarzeń
Istnieją dwa główne scenariusze wysyłania danych usługi Azure Digital Twins, a trasy zdarzeń służą do realizacji obu tych scenariuszy:
- Wysyłanie danych zdarzeń z jednej reprezentacji bliźniaczej na grafie usługi Azure Digital Twins do innej. Na przykład gdy właściwość jednego cyfrowego bliźniaka ulegnie zmianie, możesz chcieć powiadomić o tym i zaktualizować innego cyfrowego bliźniaka na podstawie tych zaktualizowanych danych.
- Wysyłanie danych spoza usługi Azure Digital Twins do usług danych podrzędnych w celu uzyskania większej ilości miejsca do magazynowania lub przetwarzania. Jeśli na przykład korzystasz już z usługi Azure Maps, warto współtworzyć dane usługi Azure Digital Twins, aby ulepszyć rozwiązanie za pomocą zintegrowanego modelowania lub zapytań.
W przypadku dowolnego miejsca docelowego zdarzenia trasa zdarzeń działa, wysyłając dane zdarzeń z usługi Azure Digital Twins do niestandardowych punktów końcowych w subskrypcjach. Trzy usługi platformy Azure są obecnie obsługiwane dla punktów końcowych: Event Hubs, Event Grid i Service Bus. Każda z tych usług platformy Azure może być połączona z innymi usługami i pełni rolę pośrednika, wysyłając dane do końcowych miejsc docelowych, takich jak Usługa Azure Maps, lub z powrotem do usługi Azure Digital Twins w celu uzyskania zależnych aktualizacji grafu.
Na poniższym diagramie przedstawiono przepływ danych zdarzeń za pośrednictwem większego rozwiązania IoT, które obejmuje wysyłanie danych usługi Azure Digital Twins za pośrednictwem punktów końcowych do innych usług platformy Azure, a także z powrotem do usługi Azure Digital Twins:
W przypadku przesyłu danych wychodzących poza Azure Digital Twins, typowe docelowe aplikacje dla tras zdarzeń to Azure Maps, magazyn danych i rozwiązania analityczne. Usługa Azure Digital Twins implementuje co najmniej jednokrotne dostarczanie danych emitowanych do usług wyjściowych.
Aby rozsyłać wewnętrzne zdarzenia cyfrowej reprezentacji bliźniaczej w ramach tego samego rozwiązania usługi Azure Digital Twins, przejdź do następnej sekcji.
Kierowanie wydarzeniami wewnętrznymi cyfrowego bliźniaka
Trasy zdarzeń to mechanizm używany do obsługi zdarzeń w grafie bliźniaczej reprezentacji, wysyłając dane z cyfrowej reprezentacji bliźniaczej do cyfrowej reprezentacji bliźniaczej. Ta obsługa zdarzeń odbywa się przez połączenie tras zdarzeń za pośrednictwem usługi Event Grid z zasobami obliczeniowymi, takimi jak usługa Azure Functions. Następnie te funkcje definiują sposób odbierania i reagowania bliźniaczych reprezentacji bliźniaczych na zdarzenia.
Gdy zasób obliczeniowy chce zmodyfikować graf bliźniaczy na podstawie zdarzenia otrzymanego za pośrednictwem trasy zdarzeń, warto wcześniej wiedzieć, który z bliźniaków należy zmodyfikować. Komunikat zdarzenia zawiera również identyfikator źródłowej reprezentacji bliźniaczej, która wysłała komunikat, więc zasób obliczeniowy może używać zapytań lub przechodzić relacje w celu znalezienia docelowej reprezentacji bliźniaczej dla żądanej operacji.
Zasób obliczeniowy musi również niezależnie ustanowić uprawnienia zabezpieczeń i dostępu.
Aby zapoznać się z procesem konfigurowania funkcji Azure do przetwarzania zdarzeń cyfrowego bliźniaka, zobacz Konfigurowanie obsługi zdarzeń między bliźniakami.
Tworzenie punktów końcowych
Aby zdefiniować trasę zdarzeń, deweloperzy muszą najpierw zdefiniować punkty końcowe. Punkt końcowy jest miejscem docelowym poza usługą Azure Digital Twins, która obsługuje połączenie tras. Obsługiwane miejsca docelowe to:
- Tematy niestandardowe usługi Event Grid
- Centra zdarzeń
- Usługa Service Bus
Aby utworzyć punkt końcowy, możesz użyć interfejsów API REST usługi Azure Digital Twins, poleceń interfejsu wiersza polecenia lub witryny Azure Portal.
Podczas definiowania punktu końcowego należy podać następujące elementy:
- Nazwa punktu końcowego
- Typ punktu końcowego (Event Grid, Event Hubs lub Service Bus)
- Podstawowe parametry połączenia i pomocnicze parametry połączenia do uwierzytelniania
- Ścieżka tematu punktu końcowego, na przykład
your-topic.westus2.eventgrid.azure.net
Opcjonalnie możesz utworzyć punkt końcowy przy użyciu uwierzytelniania opartego na tożsamościach, aby użyć punktu końcowego z tożsamością zarządzaną przypisaną przez system lub przypisaną przez użytkownika tożsamością zarządzaną. Ta opcja jest dostępna tylko dla punktów końcowych usługi Event Hubs i usługi Service Bus (nie jest obsługiwana w przypadku usługi Event Grid).
Interfejsy API punktu końcowego dostępne na płaszczyźnie sterowania to:
- Tworzenie punktu końcowego
- Pobieranie listy punktów końcowych
- Pobierz punkt końcowy według nazwy
- Usuwanie punktu końcowego według nazwy
Aby uzyskać szczegółowe instrukcje dotyczące tworzenia punktu końcowego, zobacz Tworzenie punktów końcowych.
Tworzenie tras zdarzeń
Aby utworzyć trasę zdarzeń, możesz użyć interfejsów API REST usługi Azure Digital Twins, poleceń interfejsu wiersza polecenia lub portalu Azure.
Oto przykład tworzenia ścieżki zdarzenia w aplikacji klienckiej przy użyciu wywołania .NET (C#) SDK:
string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
DigitalTwinsEventRoute
Najpierw tworzony jest obiekt, a konstruktor przyjmuje nazwę punktu końcowego. ToendpointName
pole identyfikuje punkt końcowy, taki jak Event Hubs, Event Grid lub Service Bus. Te elementy końcowe należy utworzyć w ramach subskrypcji i dołączyć do usługi Azure Digital Twins za pomocą interfejsów API płaszczyzny sterowania przed wykonaniem tego wywołania rejestracyjnego.Obiekt trasy zdarzeń ma również pole Filtr , które może służyć do ograniczania typów zdarzeń, które podążają za tą trasą. Filtr
true
umożliwia trasę bez dodatkowego filtrowania (filtrfalse
wyłącza trasę).Ten obiekt trasy zdarzenia jest następnie przekazywany do
CreateOrReplaceEventRouteAsync
, wraz z nazwą trasy.
Napiwek
Wszystkie funkcje zestawu SDK są dostępne w wersjach synchronicznych i asynchronicznych.
Aby uzyskać szczegółowe instrukcje dotyczące tworzenia tras zdarzeń, zobacz Tworzenie tras i filtrów.
Zdarzenia utraconych komunikatów
Gdy punkt końcowy nie może dostarczyć zdarzenia w określonym czasie lub po kilku próbach dostarczenia zdarzenia, może wysłać nieprzekazane zdarzenie do konta przechowywania. Ten proces jest znany jako utracony zapis. Usługa Azure Digital Twins przeniesie zdarzenie do martwej kolejki, gdy zostanie spełniony jeden z następujących warunków:
- Zdarzenie nie zostaje dostarczone w okresie ważności
- Liczba prób dostarczenia wydarzenia przekroczyła ustalony limit.
Jeśli zostanie spełniony jeden z warunków, zdarzenie zostanie porzucone lub nieaktywne. Domyślnie każdy punkt końcowy nie włącza utraconych komunikatów. Aby ją włączyć, należy określić konto magazynu do przechowywania niedostarczonych zdarzeń podczas tworzenia punktu końcowego. Następnie możesz ściągnąć zdarzenia z tego konta magazynu, aby rozwiązać dostawy.
Przed ustawieniem lokacji martwych list musisz mieć konto magazynu z kontenerem. Adres URL tego kontenera należy podać podczas tworzenia punktu końcowego. Wiadomość niedoręczona jest dostarczana jako adres URL kontenera z tokenem SAS. Ten token wymaga tylko write
uprawnień dla kontenera docelowego na koncie magazynowym. W pełni sformułowany adres URL będzie mieć format: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>
Aby dowiedzieć się więcej na temat tokenów SAS, zobacz: Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS)
Aby dowiedzieć się, jak skonfigurować punkt końcowy z kończeniem listy niedostarczonych, zobacz Opcje punktu końcowego: kończenie listy niedostarczonych.
Typy komunikatów o zdarzeniach
Różne typy zdarzeń w usługach IoT Hub i Azure Digital Twins generują różne typy komunikatów powiadomień, jak opisano poniżej.
Typ powiadomienia | Nazwa źródła routingu | Generowane z... |
---|---|---|
Powiadomienie o zmianie cyfrowego bliźniaka | Powiadomienie o zmianie cyfrowego bliźniaka | zmiana właściwości cyfrowego bliźniaka |
Powiadomienie dotyczące cyklu życia cyfrowego bliźniaka | Powiadomienie dotyczące cyklu życia cyfrowego bliźniaka | dowolna operacja tworzenia lub usuwania cyfrowego bliźniaka |
Powiadomienie o zmianie relacji cyfrowego bliźniaka | Powiadomienie o zmianie relacji cyfrowego bliźniaka | dowolna zmiana relacji cyfrowego bliźniaka |
Komunikaty telemetryczne Cyfrowego Bliźniaka | Komunikaty telemetryczne | dowolny komunikat telemetrii |
Następne kroki
Przejdź do instrukcji krok po kroku dotyczących konfigurowania punktów końcowych i tras zdarzeń:
Możesz też wykonać czynności opisane w tym przewodniku, aby skonfigurować funkcję platformy Azure na potrzeby obsługi zdarzeń bliźniaczej reprezentacji bliźniaczej w usłudze Azure Digital Twins: