Az ikerpéldányok eseménykezelésének beállítása
Ez a cikk bemutatja, hogyan küldhet eseményeket ikerpéldányról ikerpéldányra, hogy a gráf egyik digitális ikerpéldányának frissítésekor az információk által érintett gráf kapcsolódó ikerpéldányai is frissülhessenek. Ez az eseménykezelés segít létrehozni egy teljesen csatlakoztatott Azure Digital Twins-gráfot, ahol a külső forrásokból, például az IoT Hubból érkező adatok a teljes gráfon keresztül propagálva lesznek.
Az iker-iker eseménykezelés beállításához létre kell hoznia egy Azure-függvényt , amely az iker életciklus eseményeit figyeli. A függvény felismeri, hogy mely események legyenek hatással a gráf többi ikerpéldányára, és az eseményadatok használatával ennek megfelelően frissíti az érintett ikerpéldányokat.
Előfeltételek
Az ikerpéldányok kezelésének beállításához szüksége lesz egy Azure Digital Twins-példányra, amellyel dolgozhat. A példányok létrehozásával kapcsolatos utasításokért lásd : Azure Digital Twins-példány és -hitelesítés beállítása. A példánynak tartalmaznia kell legalább két ikerpéldányt, amelyek között adatokat szeretne küldeni.
Szükség esetén az IoT Hubon keresztüli automatikus telemetriai betöltést is érdemes beállítani az ikerpéldányok számára. Ez a folyamat nem szükséges az ikereszközről az ikerpéldányra történő adatküldéshez, de fontos része egy teljes megoldásnak, amelyben az ikergráfot élő eszköz telemetriai adatok vezérlik.
Ikeresemények küldése végpontra
Az iker-iker események kezelésének beállításához először hozzon létre egy végpontot az Azure Digital Twinsben, és egy útvonalat az adott végponthoz. A frissítésen átesett ikerpéldányok az útvonal használatával adatokat küldenek a végpontnak a frissítési eseményekről (ahol az Event Grid később átveheti őket, és átadhatja őket egy Azure-függvénynek feldolgozás céljából).
Az Event Grid-témakör létrehozása
Az Event Grid egy Azure-szolgáltatás, amely segít az Azure-szolgáltatásokból az Azure-szolgáltatásokból az Azure más pontjaira irányítani és továbbítani az eseményeket. Létrehozhat egy Event Grid-témakört, amely összegyűjt bizonyos eseményeket egy forrásból, majd az előfizetők meghallgathatják a témakört, hogy fogadják az eseményeket.
Az Azure CLI-ben futtassa a következő parancsot egy Event Grid-témakör létrehozásához:
az eventgrid topic create --resource-group <your-resource-group> --name <name-for-your-event-grid-topic> --location <region>
A parancs kimenete a létrehozott Event Grid-témakörre vonatkozó információ. Mentse az Event Grid-témakörnek adott nevet , mert később fogja használni.
A végpont létrehozása
Ezután hozzon létre egy Event Grid-végpontot az Azure Digital Twinsben, amely csatlakoztatja a példányt az Event Grid-témakörhöz. Használja az alábbi parancsot, és szükség szerint töltse ki az Event Grid-témakör nevét az előző lépésből és a többi helyőrző mezőből.
az dt endpoint create eventgrid --dt-name <Azure-Digital-Twins-instance> --eventgrid-resource-group <your-resource-group> --eventgrid-topic <your-event-grid-topic> --endpoint-name <name-for-your-Azure-Digital-Twins-endpoint>
A parancs kimenete a létrehozott végpontra vonatkozó információ.
Keresse meg a provisioningState
mezőt a kimenetben, és ellenőrizze, hogy az érték "Sikeres".
Azt is mondhatja, hogy "Kiépítés", ami azt jelenti, hogy a végpont még mindig létrejön. Ha igen, várjon néhány másodpercet, és futtassa a következő parancsot a végpont állapotának ellenőrzéséhez. Ismételje meg a műveletet, amíg a provisioningState
"Sikeres" érték nem jelenik meg.
az dt endpoint show --dt-name <your-Azure-Digital-Twins-instance> --endpoint-name <your-Azure-Digital-Twins-endpoint>
Mentse a végpont nevét , mert később fogja használni.
Az útvonal létrehozása
Ezután hozzon létre egy Azure Digital Twins-útvonalat, amely eseményeket küld a létrehozott Event Grid-végpontnak.
Használja a következő CLI-parancsot, és szükség szerint töltse ki a végpont nevét az előző lépésből és a többi helyőrző mezőből. Ez a parancs az ikergráfban előforduló összes eseményt továbbítja.
Tipp.
Az eseményeket csak adott eseményekre korlátozhatja, ha szeretné, szűrők használatával.
az dt route create --dt-name <your-Azure-Digital-Twins-instance> --endpoint-name <your-Azure-Digital-Twins-endpoint> --route-name <name-for-your-Azure-Digital-Twins-route>
A parancs kimenete néhány információ a létrehozott útvonalról.
Feljegyzés
A végpontoknak (az előző lépésből) be kell fejezniük a kiépítést, mielőtt beállíthat egy olyan eseményútvonalat, amely azokat használja. Ha az útvonal létrehozása meghiúsul, mert a végpontok nem állnak készen, várjon néhány percet, majd próbálkozzon újra.
Azure-függvény létrehozása ikerpéldányok frissítéséhez
Ezután hozzon létre egy Azure-függvényt, amely figyeli a végpontot, és fogadja az útvonalon keresztül oda küldött ikereseményeket. A függvény logikájának az események információit kell használnia annak meghatározásához, hogy a többi ikerpéldánynak mit kell frissítenie, majd végre kell hajtania a frissítéseket.
Először hozzon létre egy új Azure Functions-projektet.
Ezt a Visual Studióval (útmutatásért lásd: Azure Functions fejlesztése a Visual Studióval), Visual Studio Code (útmutatásért lásd: C#-függvény létrehozása az Azure-ban a Visual Studio Code használatával) vagy az Azure CLI (útmutatásért lásd: C# függvény létrehozása az Azure-ban a parancssorból).
Adja hozzá a következő csomagokat a projekthez (használhatja a Visual Studio NuGet csomagkezelőt, vagy a dotnet add package parancsot egy parancssori eszközben).
Töltse ki a függvény logikáját. Az azure-digital-twins-getting-started adattárban több forgatókönyvhöz is megtekintheti a mintafüggvénykódot, hogy megkönnyítse az első lépéseket.
Tegye közzé a függvényt az Azure-ban az ön által választott módszerrel.
A függvény Visual Studióval való közzétételére vonatkozó utasításokért lásd: Azure Functions fejlesztése a Visual Studióval. A függvény Visual Studio Code-tal való közzétételére vonatkozó utasításokért lásd: C#-függvény létrehozása az Azure-ban a Visual Studio Code használatával. A függvény Azure CLI-vel való közzétételére vonatkozó utasításokért lásd: C#-függvény létrehozása az Azure-ban a parancssorból.
Miután a függvény közzétételének folyamata befejeződött, ezzel az Azure CLI-paranccsal ellenőrizheti, hogy a közzététel sikeres volt-e. Az erőforráscsoporthoz helyőrzők tartoznak, a függvényalkalmazás neve és az adott függvény neve. A parancs kinyomtatja a függvény adatait.
az functionapp function show --resource-group <your-resource-group> --name <your-function-app> --function-name <your-function>
A függvényalkalmazás konfigurálása
Ahhoz, hogy a függvény hozzáférhessen az Azure Digital Twinshez, szüksége van a példányra vonatkozó információkra és a hozzáférésre vonatkozó engedélyre. Ebben a szakaszban hozzárendel egy hozzáférési szerepkört a függvényhez, és konfigurálja az alkalmazás beállításait, hogy megtalálja és elérhesse a példányt.
Futtassa az alábbi parancsokat az Azure Cloud Shellben vagy egy helyi Azure CLI-ben.
Feljegyzés
Ezt a szakaszt egy Olyan Azure-felhasználónak kell kitöltenie, aki jogosult az Azure-erőforrásokhoz való felhasználói hozzáférés kezelésére, beleértve az engedélyek megadását és delegálását. A követelménynek megfelelő gyakori szerepkörök a tulajdonos, a fiókadminisztrátor vagy a felhasználói hozzáférés-rendszergazda és a közreműködő kombinációja. További információ az Azure Digital Twins-szerepkörök engedélykövetelményeiről: Példány és hitelesítés beállítása.
Hozzáférési szerepkör hozzárendelése
Az Azure-függvényhez egy tulajdonosi jogkivonatot kell átadni. A tulajdonosi jogkivonat átadásához adja meg a függvényalkalmazásnak az Azure Digital Twins-példány Azure Digital Twins-adattulajdonosi szerepkörét, amely engedélyt ad a függvényalkalmazásnak az adatsík-tevékenységek végrehajtására a példányon.
A következő paranccsal hozzon létre egy rendszer által felügyelt identitást a függvényhez (ha a függvény már rendelkezik ilyenrel, ez a parancs kinyomtatja annak részleteit). Jegyezze fel a
principalId
kimenet mezőjét. Ezzel az azonosítóval hivatkozhat a függvényre, így a következő lépésben engedélyeket adhat neki.az functionapp identity assign --resource-group <your-resource-group> --name <your-function-app-name>
principalId
Az alábbi paranccsal adja meg a függvény Azure Digital Twins-adattulajdonosi szerepkörét az Azure Digital Twins-példányhoz.az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<principal-ID>" --role "Azure Digital Twins Data Owner"
Alkalmazásbeállítások konfigurálása
Ezután tegye elérhetővé az Azure Digital Twins-példány URL-címét a függvény számára egy környezeti változó beállításával.
Tipp.
Az Azure Digital Twins-példány URL-címe úgy jön létre , hogy hozzáadja a https:// a példány gazdagépnevének elejéhez. A gazdagép nevének és a példány összes tulajdonságának megtekintéséhez futtassa a parancsot az dt show --dt-name <your-Azure-Digital-Twins-instance>
.
Az alábbi parancs beállít egy környezeti változót a példány URL-címéhez, amelyet a függvény minden alkalommal használni fog, amikor hozzá kell férnie a példányhoz.
az functionapp config appsettings set --resource-group <your-resource-group> --name <your-function-app-name> --settings "ADT_SERVICE_URL=https://<your-Azure-Digital-Twins-instance-host-name>"
A függvény csatlakoztatása a végponthoz
Ezután iratkozzon fel az Azure-függvényre a korábban létrehozott Event Grid-végpontra. Ezzel biztosíthatja, hogy az adatok egy frissített ikerpéldányból az Event Grid-témakörön keresztül a függvénybe áramolhassanak, ami az eseményadatok segítségével szükség szerint frissítheti a többi ikerpéldányt.
Az Azure-függvény előfizetéséhez létre fog hozni egy Event Grid-előfizetést, amely adatokat küld a korábban létrehozott Event Grid-témakörből az Azure-függvénynek.
Használja a következő CLI-parancsot, és töltse ki az előfizetés azonosítójának, erőforráscsoportjának, függvényalkalmazásának és függvénynevének helyőrzőit.
az eventgrid event-subscription create --name <name-for-your-event-subscription> --source-resource-id /subscriptions/<subscription-ID>/resourceGroups/<your-resource-group>/providers/Microsoft.EventGrid/topics/<your-event-grid-topic> --endpoint-type azurefunction --endpoint /subscriptions/<subscription-ID>/resourceGroups/<your-resource-group>/providers/Microsoft.Web/sites/<your-function-app-name>/functions/<function-name>
Most a függvény eseményeket fogadhat az Event Grid-témakörön keresztül. Az adatfolyam beállítása befejeződött.
Eredmények tesztelése és ellenőrzése
Az utolsó lépés a folyamat működésének ellenőrzése egy ikerpéldány frissítésével és annak ellenőrzésével, hogy a kapcsolódó ikerpéldányok frissülnek-e az Azure-függvény logikájának megfelelően.
A folyamat elindításához frissítse az eseményfolyam forrását képező ikerpéldányt. A frissítéshez használhatja az Azure CLI-t, az Azure Digital Twins SDK-t vagy az Azure Digital Twins REST API-kat.
Ezután kérdezze le az Azure Digital Twins-példányt a kapcsolódó ikerpéldányhoz. Használhatja az Azure CLI-t, vagy az Azure Digital Twins REST API-kat és SDK-kat. Ellenőrizze, hogy az ikerpéldány megkapta-e az adatokat, és a várt módon frissült-e.
Következő lépések
Ebben a cikkben az ikerpéldányok eseménykezelését állítja be az Azure Digital Twinsben. Ezután állítson be egy Azure-függvényt, amely automatikusan aktiválja ezt a folyamatot az IoT Hub-eszközökről érkező bejövő telemetriai adatok alapján: telemetriai adatok betöltése az IoT Hubról.