A Microsoft Graph API változási eseményeinek fogadása az Azure Event Griden keresztül
Ez a cikk a Microsoft Graph API által közzétett eseményekre való feliratkozás lépéseit ismerteti. Az alábbi táblázat felsorolja azokat az eseményforrásokat, amelyekhez az események a Graph API-n keresztül érhetők el. A legtöbb erőforrás esetében a létrehozást, frissítést és törlést bejelentő események támogatottak. Az eseményforrásokhoz létrehozott erőforrásokról a Microsoft Graph API által támogatott változásértesítések című témakörben talál részletes információt.
Microsoft eseményforrás | Források | Elérhető eseménytípusok |
---|---|---|
Microsoft Entra ID | Felhasználó, csoport | Microsoft Entra-eseménytípusok |
Microsoft Outlook | Esemény (naptárértekezlet), Üzenet (e-mail), Kapcsolatfelvétel | Microsoft Outlook-eseménytípusok |
Microsoft Teams | ChatMessage, CallRecord (értekezlet) | Microsoft Teams-eseménytípusok |
OneDrive | DriveItem | Microsoft OneDrive-események |
Microsoft SharePoint | Lista | Microsoft SharePoint-események |
Teendő | Feladat elvégzéséhez | Microsoft ToDo-események |
Biztonsági riasztások | Éber | Microsoft Security Alert-események |
Felhőalapú nyomtatás | Nyomtató, nyomtatási feladatdefiníció | Microsoft Cloud Printing-események |
Microsoft-beszélgetések | Beszélgetés | Microsoft 365 Csoportos beszélgetési események |
Microsoft Graph API-előfizetést hoz létre, amely lehetővé teszi a Graph API-események partnertémakörbe való átvitelét. A partnertéma automatikusan létrejön Önnek a Graph API-előfizetés létrehozása során. Ezzel a partnertémával esemény-előfizetéseket hozhat létre, hogy az eseményeket a követelményeknek leginkább megfelelő támogatott eseménykezelőknek küldje el az események feldolgozásához.
Fontos
Ha nem ismeri a Partneresemények funkciót, tekintse meg a Partneresemények áttekintését.
Miért érdemes előfizetnem a Microsoft Graph API-forrásokból származó eseményekre az Event Griden keresztül?
AMellett, hogy feliratkozhat a Microsoft Graph API-eseményekre az Event Griden keresztül, más lehetőségek is rendelkezésre állnak, amelyeken keresztül hasonló értesítéseket kaphat (nem eseményeket). Ha rendelkezik legalább az alábbi követelmények valamelyikével, fontolja meg, hogy a Microsoft Graph API-val eseményeket kézbesítsen az Event Gridnek:
- Olyan eseményvezérelt megoldást fejleszt, amely megköveteli, hogy a Microsoft Entra ID, az Outlook, a Teams stb. eseményei reagáljanak az erőforrás-változásokra. Az Event Grid által biztosított robusztus eseményvezérelt modellre és közzétételi előfizetési képességekre van szükség. Az Event Grid áttekintése: Event Grid-fogalmak.
- Az Event Grid használatával több célhelyre szeretné irányítani az eseményeket egyetlen Graph API-előfizetés használatával, és nem szeretne több Graph API-előfizetést kezelni.
- Az eseményeket különböző alárendelt alkalmazásokhoz, webhookokhoz vagy Azure-szolgáltatásokhoz kell irányítania az esemény egyes tulajdonságaitól függően. Előfordulhat például, hogy olyan eseménytípusokat szeretne irányítani, mint például
Microsoft.Graph.UserCreated
Microsoft.Graph.UserDeleted
egy speciális alkalmazás, amely feldolgozza a felhasználók előkészítési és kiszállási folyamatait. Előfordulhat, hogy eseményeket is szeretne küldeniMicrosoft.Graph.UserUpdated
egy másik alkalmazásnak, amely például szinkronizálja a névjegyadatokat. Ezt egyetlen Graph API-előfizetéssel érheti el, ha az Event Gridet értesítési célként használja. További információ: eseményszűrés és eseménykezelők. - Az együttműködési képesség fontos Önnek. Az eseményeket szabványos módon szeretné továbbítani és kezelni a Cloud Native Computing Foundation (CNCF) CloudEvents specifikációs szabványával.
- Önnek tetszik a CloudEvents által nyújtott bővíthetőségi támogatás. Ha például eseményeket szeretne nyomon követni a megfelelő rendszerek között, használja a CloudEvents Elosztott nyomkövetés bővítményt. További információ a CloudEvents további bővítményeiről.
- Az iparág által alkalmazott bevált eseményvezérelt megközelítéseket szeretné használni.
A Graph API-események átvitelének engedélyezése a partnertémakörbe
Arra kéri a Microsoft Graph API-t, hogy továbbítsa az eseményeket egy Event Grid-partnertémakörbe, hozzon létre egy Graph API-előfizetést a Microsoft Graph API szoftverfejlesztői készletei (SDK-k) használatával, és kövesse az ebben a szakaszban megadott mintákra mutató hivatkozások lépéseit. Az elérhető SDK-támogatásért tekintse meg a Microsoft Graph API SDK támogatott nyelveit.
Általános előfeltételek
A Microsoft Graph API-előfizetések létrehozásához és megújításához az alkalmazás implementálása előtt meg kell felelnie ezeknek az általános előfeltételeknek:
Ismerje meg a partnereseményekre való feliratkozás magas szintű lépéseit. A cikkben leírtaknak megfelelően a Graph API-előfizetés létrehozása előtt kövesse az alábbi utasításokat:
Regisztrálja az Event Grid-erőforrás-szolgáltatót az Azure-előfizetésében.
Engedélyezze a Microsoft Graph API(partner) számára, hogy partnertémát hozzon létre az erőforráscsoportban.
Ismerje meg a Microsoft Graph API-értesítéseket. A tanulás részeként a Graph API Explorerrel graph API-előfizetéseket hozhat létre.
A partneresemények fogalmainak ismertetése.
Azonosítsa azt a Microsoft Graph API-erőforrást, amelyből rendszerállapot-változási eseményeket szeretne fogadni. További információ: Microsoft Graph API változásértesítések. A Microsoft Entra-azonosítóban lévő felhasználók változásainak nyomon követéséhez például a felhasználói erőforrást kell használnia. Csoport használata a felhasználói csoportok módosításainak nyomon követéséhez.
Bérlői rendszergazdai fiókkal rendelkezik egy Microsoft 365-bérlőn. A Microsoft 365 fejlesztői programhoz való csatlakozással ingyenesen beszerezheti a fejlesztői bérlőt.
A Microsoft Graph API-minták hivatkozásaiban megtalálja a választott programozási nyelvre és a fejlesztési környezetre vonatkozó egyéb előfeltételeket, amelyeket egy következő szakaszban talál.
Fontos
Bár az alkalmazás implementálására vonatkozó részletes utasításokat a minták tartalmazzák, a jelen cikk összes szakaszát el kell olvasnia, mivel ezek további, fontos információkat tartalmaznak a Microsoft Graph API-események Event Grid használatával történő továbbításáról.
Microsoft Graph API-előfizetés létrehozása
Graph API-előfizetés létrehozásakor létrejön egy partnertémakör. A paraméterértesítésben a következő információkat adja meg, hogy megadhatja, milyen partnertémakört szeretne létrehozni és társítani az új Graph API-előfizetéshez:
- partnertémakör neve
- erőforráscsoport neve, amelyben a partnertémakör létrejött
- régió (hely)
- Azure-előfizetés
Ezek a kódminták bemutatják, hogyan hozhat létre Graph API-előfizetést. Példákat mutatnak be arra, hogyan hozhat létre előfizetést, amely a Microsoft Entra ID-bérlő összes felhasználójától fogad eseményeket a létrehozásuk, frissítésük vagy törlésükkor.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-type: application/json
{
"changeType": "Updated,Deleted,Created",
"notificationUrl": "EventGrid:?azuresubscriptionid=8A8A8A8A-4B4B-4C4C-4D4D-12E12E12E12E&resourcegroup=yourResourceGroup&partnertopic=yourPartnerTopic&location=theNameOfAzureRegionFortheTopic",
"lifecycleNotificationUrl": "EventGrid:?azuresubscriptionid=8A8A8A8A-4B4B-4C4C-4D4D-12E12E12E12E&resourcegroup=yourResourceGroup&partnertopic=yourPartnerTopic&location=theNameOfAzureRegionFortheTopic",
"resource": "users",
"expirationDateTime": "2024-03-31T00:00:00Z",
"clientState": "secretClientValue"
}
changeType
: azon erőforrásváltozások típusa, amelyekhez eseményeket szeretne fogadni. Érvényes értékek:Updated
,Deleted
ésCreated
. Megadhat egy vagy több értéket vesszővel elválasztva.notificationUrl
: egy URI, amely meghatározza azt a partnertémakört, amelybe az eseményeket küldi. Ennek meg kell felelnie a következő mintának:EventGrid:?azuresubscriptionid=<you-azure-subscription-id>&resourcegroup=<your-resource-group-name>&partnertopic=<the-name-for-your-partner-topic>&location=<the-Azure-region-name-where-you-want-the-topic-created>
. A hely (más néven Azure-régió)name
az az account list-locations parancs végrehajtásával szerezhető be. Ne használjon helymegjelenítési nevet. Például ne használja az USA nyugati középső régióját. Awestcentralus
használható helyette.az account list-locations
lifecycleNotificationUrl
: egy URI, amely meghatározza azt a partnertémakört, amelybemicrosoft.graph.subscriptionReauthorizationRequired
az eseményeket küldi. Ez az esemény azt jelzi az alkalmazásnak, hogy a Graph API-előfizetés hamarosan lejár. Az URI ugyanazt a mintát követi, mint a korábban ismertetett notificationUrl , ha az Event Gridet használja az életciklus-események célként. Ebben az esetben a partnertémakörnek meg kell egyeznie a notificationUrlben megadott témakörével.- erőforrás: az állapotváltozásokat bejelentő eseményeket létrehozó erőforrás.
- expirationDateTime: az előfizetés lejárati ideje és az események folyamata leáll. Meg kell felelnie a 3339-ben megadott formátumnak. Olyan lejárati időt kell megadnia, amely az erőforrástípusonként megengedett maximális előfizetési hosszon belül van.
- ügyfélállapot. Ez a tulajdonság opcionális. Ez az eseménykezelő alkalmazáshoz intézett hívások ellenőrzésére szolgál az eseménykézbesítés során. További információ: Graph API-előfizetés tulajdonságai.
Fontos
A partnertémakör nevének egyedinek kell lennie ugyanazon az Azure-régión belül. A bérlő-alkalmazásazonosító kombinációk legfeljebb 10 egyedi partnertémát hozhatnak létre.
Ügyeljen a Graph API-erőforrások bizonyos szolgáltatási korlátaira a megoldás fejlesztésekor.
A tulajdonság nélküli
lifecycleNotificationUrl
meglévő Graph API-előfizetések nem kapnak életciklus-eseményeket. Az életciklusNotificationUrl tulajdonság hozzáadásához törölnie kell a meglévő előfizetést, és létre kell hoznia egy új előfizetést, amely megadja a tulajdonságot az előfizetés létrehozása során.
A Graph API-előfizetés létrehozása után létrejön egy partnertémakör az Azure-ban.
Microsoft Graph API-előfizetés megújítása
Az alkalmazásnak meg kell újítania a Graph API-előfizetést, mielőtt lejár, hogy elkerülje az események áramlásának leállítását. A megújítási folyamat automatizálásához a Microsoft Graph API támogatja az életciklus-értesítések eseményeit , amelyekre az alkalmazás előfizethet. Jelenleg a Microsoft Graph API-erőforrások összes típusa támogatja a microsoft.graph.subscriptionReauthorizationRequired
következő feltételek bármelyike esetén küldhető el:
- A hozzáférési jogkivonat hamarosan lejár.
- A Graph API-előfizetés hamarosan lejár.
- A bérlői rendszergazda visszavonta az alkalmazás engedélyeit egy erőforrás olvasásához.
Ha nem újította meg a Graph API-előfizetést a lejárat után, létre kell hoznia egy új Graph API-előfizetést. A lejárt előfizetésben használt partnertémakörre is hivatkozhat, feltéve, hogy az 30 napnál rövidebb ideig lejárt. Ha a Graph API-előfizetés 30 napnál hosszabb ideig járt le, nem használhatja újra a meglévő partnertémakört. Ebben az esetben vagy meg kell adnia egy másik partnertémakör-nevet. Másik lehetőségként törölheti a meglévő partnertémakört, ha a Graph API-előfizetés létrehozásakor egy azonos nevű új partnertémakört hoz létre.
Microsoft Graph API-előfizetés megújítása
Az esemény fogadása microsoft.graph.subscriptionReauthorizationRequired
után az alkalmazásnak meg kell újítania a Graph API-előfizetést az alábbi műveletek elvégzésével:
Ha a Graph API-előfizetés létrehozásakor az ügyfélkulcsot a clientState tulajdonságban adta meg, az ügyfél titkos kódját az esemény tartalmazza. Ellenőrizze, hogy az esemény clientState értéke megegyezik-e a Graph API-előfizetés létrehozásakor használt értékkel.
Győződjön meg arról, hogy az alkalmazás rendelkezik érvényes hozzáférési jogkivonattal a következő lépéshez. További információt a következő mintákban talál a részletes utasítások szakaszában.
Hívja meg az alábbi két API egyikét. Ha az API-hívás sikeres, a változásértesítési folyamat folytatódik.
Hívja meg a
/reauthorize
műveletet az előfizetés újbóli létrehozásához a lejárati dátum meghosszabbítása nélkül.POST https://graph.microsoft.com/beta/subscriptions/{id}/reauthorize
Végezzen rendszeres "megújítási" műveletet az előfizetés egyidejű újrahitelesítéséhez és megújításához.
PATCH https://graph.microsoft.com/beta/subscriptions/{id} Content-Type: application/json { "expirationDateTime": "2024-04-30T11:00:00.0000000Z" }
A megújítás sikertelen lehet, ha az alkalmazás már nem jogosult az erőforráshoz való hozzáférésre. Előfordulhat, hogy az alkalmazásnak új hozzáférési jogkivonatot kell beszereznie az előfizetés sikeres újbóli létrehozásához.
Az engedélyezési kihívások nem helyettesítik az előfizetés megújításának szükségességét a lejárat előtt. A hozzáférési jogkivonatok és az előfizetés lejárati életciklusa nem azonos. Előfordulhat, hogy a hozzáférési jogkivonat az előfizetés előtt lejár. Fontos, hogy felkészüljön arra, hogy rendszeresen újrahitelesítse a végpontot a hozzáférési jogkivonat frissítéséhez. A végpont ismételt hitelesítése nem újítja meg az előfizetést. Az előfizetés megújítása azonban a végpontot is újrahitelesíti.
A Graph API-előfizetés megújítása és/vagy újrahitelesítése során ugyanaz a partnertémakör van megadva, amikor az előfizetés létrejött.
Új lejáratiDateTime megadásakor az aktuális időponttól számított legalább három órának kell lennie. Ellenkező esetben előfordulhat, hogy az alkalmazás nem sokkal a megújítás után eseményeket kap microsoft.graph.subscriptionReauthorizationRequired
.
A Graph API-előfizetés bármely támogatott nyelv használatával történő újrahitelesítésére vonatkozó példákért tekintse meg az előfizetés újraauthorize kérését.
A Graph API-előfizetés bármely támogatott nyelv használatával történő megújításával és újbóli hitelesítésével kapcsolatos példákért tekintse meg az előfizetés frissítésére vonatkozó kérést.
Minták részletes útmutatással
A Microsoft Graph API dokumentációja kódmintákat tartalmaz a következőkhöz:
- Állítsa be a fejlesztői környezetet a használt nyelvnek megfelelő konkrét utasításokkal. Az utasítások azt is tartalmazzák, hogyan szerezhet be Microsoft 365-bérlőt fejlesztési célokra.
- Graph API-előfizetések létrehozása. Az előfizetés megújításához meghívhatja a Graph API-t a Graph API-előfizetés megújítása című témakör kódrészleteinek használatával.
- Hitelesítési jogkivonatok lekérése a Microsoft Graph API meghívásához.
Feljegyzés
A Graph API-előfizetés a Microsoft Graph API Explorerrel hozható létre. A mintákat továbbra is érdemes használnia a megoldás egyéb fontos aspektusaihoz, például a hitelesítéshez és az események fogadásához.
A webalkalmazás-minták a következő nyelvekhez érhetők el:
- C#-minta. Ez egy naprakész minta, amely bemutatja, hogyan hozhat létre és újíthat meg Graph API-előfizetéseket, és végigvezeti az események folyamatának engedélyezésének néhány lépésén.
- Java-minta
- NodeJS-minta.
Fontos
Aktiválnia kell a Graph API-előfizetés létrehozásakor létrehozott partnertémakört. Event Grid-esemény-előfizetést is létre kell hoznia a webalkalmazáshoz az események fogadásához. Ennek érdekében a webalkalmazásban konfigurált URL-cím használatával fogadhatja az eseményeket webhook-végpontként az esemény-előfizetésben. További információkért kövesse a következő lépéseket .
Fontos
Szüksége van mintakódra egy másik nyelvhez, vagy kérdése van? Kérjük, küldjön e-mailt a következő címre ask-graph-and-grid@microsoft.com: .
Következő lépések
A Microsoft Graph API-események Event Grid használatával történő fogadásához kövesse az alábbi két lépés utasításait:
- A Microsoft Graph API létrehozása során létrehozott partnertéma aktiválása.
- Az eseményekre való feliratkozáshoz hozzon létre egy esemény-előfizetést a partnertémakörhöz.
Egyéb hasznos hivatkozások:
- Azure Event Grid – Partneresemények áttekintése
- Információk a Microsoft Graph API-ról.
- Microsoft Graph API webhookok
- Ajánlott eljárások a Microsoft Graph API használatához
- Microsoft Graph API SDK-k
- Microsoft Graph API-oktatóanyagok, amelyek bemutatják a Graph API használatát. Ez a cikk nem feltétlenül tartalmaz példákat az események Event Gridbe való küldésére.