Azure Digital Twins-események irányítása

Az Azure Digital Twins eseményútvonalakat használ az eseményadatok küldéséhez, mind az eseményeknek az Azure Digital Twins belső útválasztásához, mind pedig az eseményadatok szolgáltatáson kívüli fogyasztóknak való külső küldéséhez.

Ez a cikk az eseményútvonalak működését ismerteti, beleértve a végpontok beállításának folyamatát, majd a végpontokhoz csatlakoztatott eseményútvonalak beállítását. Azt is elmagyarázza, hogy mi történik, ha egy végpont nem tud időben kézbesíteni egy eseményt (ezt a folyamatot kézbesíthetetlen levélnek nevezzük).

Az eseményútvonalak ismertetése

Az Azure Digital Twins-adatok küldésének két fő forgatókönyve van, az eseményútvonalak pedig mindkettő végrehajtására használhatók:

  • Eseményadatok küldése az Azure Digital Twins-gráf egyik ikerpéldányából egy másikba. Ha például egy digitális ikerpéldány egyik tulajdonsága megváltozik, érdemes lehet egy másik digitális ikerpéldányt értesíteni és frissíteni a frissített adatok alapján.
  • Adatok küldése az Azure Digital Twinsen kívül az alsóbb rétegbeli adatszolgáltatásoknak további tárolás vagy feldolgozás céljából. Ha például már használja a Azure Maps, érdemes lehet Azure Digital Twins-adatokat is használnia a megoldás integrált modellezéssel vagy lekérdezésekkel való továbbfejlesztéséhez.

Minden eseménycél esetében az eseményútvonalak úgy működnek, hogy eseményadatokat küldenek az Azure Digital Twinsből az előfizetések egyénileg meghatározott végpontjaira . Jelenleg három Azure-szolgáltatás támogatott végpontokhoz: Event Hubs, Event Grid és Service Bus. Ezek az Azure-szolgáltatások összekapcsolhatók más szolgáltatásokkal, és közvetítőként is viselkedhetnek, adatokat küldhetnek a végső célhelyekre, például Azure Maps, vagy visszahelyezhetők az Azure Digital Twinsbe a függő gráffrissítésekhez.

Az alábbi ábra egy nagyobb IoT-megoldáson keresztül szemlélteti az eseményadatok áramlását, amely magában foglalja az Azure Digital Twins-adatok végpontokon keresztül más Azure-szolgáltatásokba, valamint az Azure Digital Twinsbe való visszaküldését:

Ábra az Azure Digital Twinsről, amely az adatokat végpontokon keresztül több alárendelt szolgáltatáshoz irányítja.

Az Azure Digital Twinsen kívüli adatforgalom esetében az eseményútvonalak tipikus alárendelt céljai a Time Series Insights, a Azure Maps, a tárolási és az elemzési megoldások. Az Azure Digital Twins legalább egyszeri kézbesítést implementál a kimenő szolgáltatások számára kibocsátott adatokhoz.

Ha a belső digitális ikerpéldány-eseményeket ugyanabban az Azure Digital Twins-megoldásban szeretné útválasztásra használni, lépjen tovább a következő szakaszra.

Belső digitális ikeresemények irányítása

Az eseményútvonalak az ikergráfon belüli események kezelésére szolgáló mechanizmus, amely adatokat küld a digitális ikerpéldányról a digitális ikerpéldányra. Az ilyen típusú eseménykezeléshez eseményútvonalakat csatlakoztatunk az Event Griden keresztül a számítási erőforrásokhoz, például Azure Functions. Ezek a függvények ezután meghatározzák, hogy az ikerpéldányok hogyan fogadják és válaszolják meg az eseményeket.

Ha egy számítási erőforrás egy eseményútvonalon fogadott esemény alapján szeretné módosítani az ikergráfot, hasznos előre tudnia, hogy melyik ikerpéldányt kell módosítania. Az eseményüzenet tartalmazza az üzenetet küldő forrás ikerpéldány azonosítóját is, így a számítási erőforrás lekérdezések vagy kapcsolatok bejárásával megkeresheti a kívánt művelet célikretét.

A számítási erőforrásnak független biztonsági és hozzáférési engedélyeket is létre kell hoznia.

Az Azure-függvények digitális ikeresemények feldolgozására való beállításának folyamatát az ikerpéldányok eseménykezelésének beállításával foglalkozó cikkben tekinthet meg.

Végpont létrehozása

Eseményútvonal definiálásához az a fejlesztőknek először végpontokat kell definiálniuk. A végpont az Azure Digital Twinsen kívüli célhely, amely támogatja az útvonalkapcsolatot. A támogatott célhelyek a következők:

  • Egyéni Event Grid-témakörök
  • Event Hubs
  • Service Bus

Végpont létrehozásához használhatja az Azure Digital Twins REST API-kat, a CLI-parancsokat vagy a Azure Portal.

Végpont definiálásakor a következőket kell megadnia:

  • A végpont neve
  • A végpont típusa (Event Grid, Event Hubs vagy Service Bus)
  • A hitelesítéshez használni kívánt elsődleges kapcsolati sztring és másodlagos kapcsolati sztring
  • A végpont témakörútvonala, például your-topic.westus2.eventgrid.azure.net

A vezérlősíkon elérhető végponti API-k a következők:

  • Végpont létrehozása
  • Végpontok listájának lekérése
  • Végpont lekérése név alapján
  • Végpont törlése név alapján

Eseményútvonal létrehozása

Eseményútvonal létrehozásához használhatja az Azure Digital Twins REST API-kat, cli-parancsokat vagy a Azure Portal.

Íme egy példa egy eseményútvonal ügyfélalkalmazáson belüli létrehozására a CreateOrReplaceEventRouteAsync.NET (C#) SDK-hívással :

string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
  1. Először létrejön egy DigitalTwinsEventRoute objektum, és a konstruktor egy végpont nevét veszi fel. Ez a endpointName mező azonosít egy végpontot, például az Event Hubsot, az Event Gridet vagy a Service Bust. Ezeket a végpontokat a regisztrációs hívás előtt létre kell hozni az előfizetésben, és hozzá kell csatolni az Azure Digital Twinshez vezérlősík API-k használatával.

  2. Az eseményútvonal-objektum szűrőmezővel is rendelkezik, amely az ezt az útvonalat követő eseménytípusok korlátozására használható. A szűrő true további szűrés nélkül engedélyezi az útvonalat (a szűrő false letiltja az útvonalat).

  3. Ezt az eseményútvonal-objektumot ezután átadja a CreateOrReplaceEventRouteAsyncrendszer az útvonal nevével együtt.

Tipp

Minden SDK-függvény szinkron és aszinkron verzióban is elérhető.

Kézbesíthetetlen levelek eseményei

Ha egy végpont nem tud eseményt kézbesíteni egy adott időszakon belül, vagy miután többször megpróbálta kézbesíteni az eseményt, elküldheti a kézbesítetlen eseményt egy tárfiókba. Ezt a folyamatot kézbesíthetetlen leveleknek nevezzük. Az Azure Digital Twins kézbesíthetetlen eseményt küld, ha az alábbi feltételek valamelyike teljesül:

  • Az esemény nem lesz kézbesítve az élettartamon belül
  • Az esemény kézbesítésére tett próbálkozások száma túllépte a korlátot

Ha valamelyik feltétel teljesül, az esemény el lesz dobva vagy kézbesíthetetlen lesz. Alapértelmezés szerint az egyes végpontok nem kapcsolják be a kézbesíthetetlen levelek használatát. Az engedélyezéshez meg kell adnia egy tárfiókot a kézbesítetlen események tárolásához a végpont létrehozásakor. Ezután lekérhet eseményeket ebből a tárfiókból a kézbesítések feloldásához.

A kézbesíthetetlen levelek helyének beállítása előtt rendelkeznie kell egy tárolóval rendelkező tárfiókkal. A végpont létrehozásakor meg kell adnia a tároló URL-címét. A kézbesíthetetlen levelek tárolói URL-címként és SAS-jogkivonatként lesznek megadva. Ennek a jogkivonatnak csak write a tárfiókon belüli céltárolóra vonatkozó engedélyre van szüksége. A teljesen formázott URL-cím formátuma a következő lesz: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>

További információ az SAS-jogkivonatokról: Korlátozott hozzáférés biztosítása az Azure Storage-erőforrásokhoz közös hozzáférésű jogosultságkódok (SAS) használatával

A végpontok kézbesíthetetlen levelek használatával történő beállításával kapcsolatban lásd: Végpontok és útvonalak kezelése az Azure Digital Twinsben.

Eseményüzenetek típusai

A IoT Hub és az Azure Digital Twins különböző eseménytípusai különböző típusú értesítési üzeneteket hoznak létre, az alábbiakban leírtak szerint.

Notification type (Értesítés típusa) Útválasztási forrás neve Létrehozva...
Digitális ikerpéldány változási értesítése Digitális ikerpéldány változási értesítése digitális ikerpéldány tulajdonságainak bármilyen módosítása
Digitális ikerpéldány életciklus-értesítése Digitális ikerpéldány életciklus-értesítése bármely digitális ikerpéldány létrehozási vagy törlési művelete
Digitális ikerpéldány kapcsolati változásról szóló értesítése Digitális ikerpéldány kapcsolati változásról szóló értesítése digitális ikerpéldányok közötti kapcsolat bármely módosítása
Digitális ikerpéldány telemetriai üzenetei Telemetriai üzenetek bármilyen telemetriaüzenet

Következő lépések

Folytassa a végpontok és eseményútvonalak beállítására vonatkozó részletes útmutatóval:

Vagy kövesse ezt az útmutatót egy Azure-függvény beállításához az ikerpéldányok eseménykezeléséhez az Azure Digital Twinsben: