Latest / M365.FM – Microsoft 365, Copilot & AI podcast in het Nederlands / Microsoft Graph-webhooks uitgelegd: realtime meldingen in plaats van eindeloos pollen (AI-nasynchronisatie)
Transcript
- 0:00Klaar voor 10 dagen Microsoft 365, Copilot, AI, Azure en de mensen die de toekomst van werk vormgeven?
- 0:07Deze januari is M365, kom terug en we pakken groter uit.
- 0:12Doe mee voor live sessies, praktijkdemos en praktische kennis van MVP's en experts van over de hele wereld.
- 0:18Geen algemene sliedes, geen eindeloze modewoorden.
- 0:21We pakken de echte uitdagingen aan Copilot Studio, AI Agents, Fabric, Beveiliging, Governance en Automatisering.
- 0:29Of je nu een IT-professional, ontwikkelaar of zakelijk leider bent, er zijn sessies speciaal voor jou ontworpen.
- 0:35Met 10 volledige dagen kun je diverse technologieën verkennen en in contact komen met een wereldwijde community.
- 0:40Kijk live mee en neem praktische inzichten mee terug naar je organisatie.
- 0:44Januari 2027, 10 dagen, 1 Microsoft Community.
- 0:49De registratie is nu geopend.
- 0:52Ga naar m365com.net en bemachtig vandaag nog je plek.
- 0:56Dat is m365com.net.
- 0:59Doe nu mee op m365com.net en we zien je live in januari.
- 1:04Hallo allemaal en welkom bij een nieuwe aflevering van Microsoft Knowledge Nuggets hier op M365FM.
- 1:10Ik ben je gastheer Milko Peters.
- 1:11Het onderwerp van vandaag is iets waar bijna iedereen die met Microsoft 365 bouwt van heeft gehoord, maar slechts weinig helder kunnen uitleggen.
- 1:17Wat zijn graphwebbooks precies?
- 1:19Waarom zou je ze gebruiken in plaats van de oude manier van werken?
- 1:22Stel je voor dat je een belangrijke brief verwacht.
- 1:23Je loopt naar je brievenbus, die is leeg.
- 1:25Je loopt terug.
- 1:26Tien minuten later kijk je opnieuw.
- 1:28Nog steeds niets.
- 1:29Dit doe je de hele dag, waarbij je tijd en energie verspilt.
- 1:31Dat is polling.
- 1:31Stel je nu een andere wereld voor.
- 1:33De postbode belt aan op het moment dat er een brief aankomt.
- 1:35Je hoeft niet te controleren.
- 1:36Je wacht op de bel.
- 1:37Dat is een webhoek.
- 1:38Aan het einde van deze aflevering begrijp je wat graphwebbooks zijn, waarom ze constant controleren, vervangen en hoe alles in elkaar grijpt.
- 1:45Het pollingprobleem.
- 1:46Laten we dit verder uitdiepen.
- 1:47Om te begrijpen waarom webhoeks belangrijk zijn, moet je begrijpen waarom polling nadelig is.
- 1:51Zo werken de meeste applicaties vandaag de dag.
- 1:53Je app heeft een antwoord nodig.
- 1:55Het vraagt aan Microsoft Graph.
- 1:56Hé, zijn er nieuwe gebruikers?
- 1:57Graph antwoordt nee.
- 1:59Dus je app wacht even en vraagt dan weer, zijn er nu nieuwe gebruikers?
- 2:02Nog steeds nee.
- 2:03Keer op keer.
- 2:04Dit proces is polling.
- 2:05Zie het als constant een vriend bellen om te vragen of ze nieuws hebben.
- 2:08Je belt.
- 2:09Ze nemen op.
- 2:09Je vraagt het.
- 2:10Ze zeggen nee.
- 2:11Je hangt op.
- 2:11Dan bel je vijf minuten later weer.
- 2:13En nog eens.
- 2:13Je verspilt hun tijd en die van jezelf.
- 2:15Je bent ze waarschijnlijk aan het irriteren.
- 2:17Stel je nu eens voordat duizenden apps dit tegelijkertijd bij Microsoft Graph doen.
- 2:20Elke app die om de paar minuten polt, dezelfde vragen stelt en dezelfde antwoorden krijgt.
- 2:24Dat is een hoop ruis.
- 2:26Microsoft heeft een naam voor wanneer je te agressief polt, crottling, of zoals sommige
- 2:29ontwikkelaars het noemen, de Graph gevangenis.
- 2:31Wanneer je te veel verzoeken stuurt, zegt Microsoft, oké, je bent er even klaar mee.
- 2:35Ze beperken het aantal aanroepen dat je app mag doen.
- 2:37Zodra je wordt beperkt, vertraagt alles.
- 2:39Legitieme verzoeken stapelen zich op.
- 2:40Je app stopt met goed functioneren.
- 2:42Je hebt geen idee wanneer je weer naar buiten mag.
- 2:44Over hoeveel verzoeken hebben we het?
- 2:45Stel dat je app elke vijf minuten polt op gebruikerswijzigingen.
- 2:48Dat komt neer op twaalf verzoeken per uur.
- 2:50Over een hele dag zijn dat 288 verzoeken en dat is slechts voor één bron.
- 2:54Als je ook polt voor groepen, bestanden, berichten en agenda items, stapel je duizenden onnodige
- 2:59verzoeken per dag op.
- 3:00De meesten leveren niets op, nul wijzigingen, maar je hebt de aanroep toch gedaan.
- 3:03En het punt is, zelfs als je elke vijf minuten polt, ontvang je nog steeds geen real-time updates.
- 3:08Een wijziging kan één minuut na je laatste pol plaatsvinden.
- 3:11Je weet het dan de komende vier minuten nog niet.
- 3:13Je verspilt resources en mist nog steeds het moment.
- 3:16Zet dat nu eens af tegen een event-driven aanpak.
- 3:18In plaats van Microsoft Graph om de paar minuten aan te roepen, wacht je tot Microsoft Graph jou belt.
- 3:21Je stelt een listener in.
- 3:23Wanneer er iets verandert, stuurt Graph je een notificatie.
- 3:25Je hoeft zelf niet te bellen.
- 3:26Je neemt op wanneer de telefoon gaat.
- 3:28Wat zijn webhooks?
- 3:29Dus, wat is een webhook precies?
- 3:31Hier is de simpelste definitie.
- 3:32Een webhook is een HTTP-verzoek dat automatisch wordt verstuurd wanneer er iets gebeurt.
- 3:36Je vraagt er niet om.
- 3:37De server pust het gewoon naar je toe.
- 3:39Zie het als een deurbel.
- 3:40Je staat niet buiten om de paar minuten te kijken.
- 3:43Je installeert een deurbel.
- 3:44Wanneer er iemand arriveert, bellen ze aan.
- 3:46Je hoort de bel en doet open.
- 3:47De deurbel houdt voor jou de wacht.
- 3:49Webhooks worden soms reverse APIs genoemd.
- 3:52Bij een normale API doet je app een verzoek en reageert de server.
- 3:55Je app heeft de controle.
- 3:56Bij een webhook stuurt de server het verzoek naar jouw app.
- 3:59De server heeft de controle, maar pust data in plaats van te wachten tot jij erom vraagt.
- 4:02Microsoft Graph gebruikt ook webhooks, maar Microsoft noemt ze wijzigingsmeldingen.
- 4:07Het is hetzelfde, maar met een andere naam.
- 4:09Wanneer er iets verandert in Microsoft 365, stuurt Graph een HTTP-post naar een URL die jij opgeeft.
- 4:15Die post bevat informatie over wat er is veranderd.
- 4:17Er zijn heel veel zaken waar je een melding van kunt ontvangen.
- 4:20Een nieuwe gebruiker wordt aangemaakt in je tenant, een bestand bijgewerkt in SharePoint,
- 4:24een bericht verzonden in Teams, een agenda-item gewijzigd of een groep krijgt een nieuw lid.
- 4:28Dit alles kan een melding activeren.
- 4:30Hier is een concreet voorbeeld. Stel, je beheert een bedrijf met een urenregistratiesysteem.
- 4:34Wanneer een nieuwe medewerker in dienst treedt, wil je automatisch een account aanmaken.
- 4:37Zonder webhooks post je het gebruikers-eindpunt elke paar minuten om te controleren op nieuwe mensen.
- 4:41Met webhooks abonneer je je op gebeurtenissen voor het aanmaken van gebruikers.
- 4:44Wanneer iemand in dienst treedt, stuurt Graph je app een melding.
- 4:47Je app ontvangt deze, valideert deze en maakt het account aan, allemaal binnen enkele seconden.
- 4:51Geen polling, geen verspeelde verzoeken.
- 4:53Nog een voorbeeld. Je hebt een SharePoint documentbibliotheek waar bonnen worden geüpload.
- 4:57Zonder webhooks post je de bibliotheek constant.
- 5:00Met webhooks laat Graph je direct weten wanneer er een bestand is toegevoegd.
- 5:03Je app pakt het op, controleert of het een bon is en verwerkt het automatisch.
- 5:07Dat is de kracht van webhooks.
- 5:08In plaats van dat je app constant vraagt, is er iets nieuws?
- 5:11Laat je het systeem weten wanneer er iets gebeurt.
- 5:13Het is efficiënter, betrouwbaarder en veel sneller.
- 5:16Hoe Microsoft Graph webhooks werken.
- 5:18Nu weet je wat webhooks zijn en waarom polling het probleem is.
- 5:21Laten we kijken hoe Microsoft Graph webhooks echt werken, want de flow is eenvoudiger dan je denkt.
- 5:26Het komt neer op drie dingen, een abonnement, een melding en je eindpunt.
- 5:30Eerst maak je een abonnement aan.
- 5:32Je vertelt Microsoft Graph, hé, ik wil weten wanneer dit specifieke ding verandert.
- 5:36Je geeft Graph de details over wat er in de gaten gehouden moet worden en waar het nieuws naartoe moet.
- 5:39Zie het als je aanmelden voor een melding.
- 5:41Je vertelt het systeem wat belangrijk voor je is en je geeft je contactgegevens op.
- 5:44Ten tweede houdt Microsoft Graph die bron in de gaten.
- 5:46Het controleert op wijzigingen.
- 5:48Wanneer er iets gebeurt, zoals een gebruiker aangemaakt, een bestand bijgewerkt of een bericht dat binnenkomt, merkt Graph dat op.
- 5:52Ten derde stuurt Graph een melding.
- 5:54Het verstuurt een HTTP-post naar de URL die je hebt opgegeven.
- 5:57Die post bevat informatie over wat er precies is veranderd.
- 6:00Je eindpunt ontvangt dit en je applicatie verwerkt het.
- 6:02De algemene flow is dus eenvoudig.
- 6:04Je abonneert je, Graph kijkt mee, Graph stuurt een post wanneer er iets verandert.
- 6:08Laten we die drie bouwstenen iets verder uitdiepen.
- 6:10Het abonnement is jouw verzoek om een melding te ontvangen.
- 6:13Het is alsof je zegt, ik wil weten wanneer een nieuwe gebruiker wordt toegevoegd aan mijn tenant.
- 6:16Je verstuurt dat verzoek naar Microsoft Graph en Graph slaat het op.
- 6:19Vanaf dat moment houdt Graph het namens jou in de gaten.
- 6:22De notificatie is het waarschuwingsbericht zelf, een HTTP-post die Graph naar jouwetpoint verstuurt.
- 6:26De postbody bevat details over de wijziging, zoals welke resource is gewijzigd, welk type wijziging plaatsvond en wanneer dit gebeurde.
- 6:32Jouwetpoint is de deur die je open laat staan.
- 6:34Het is een URL op jouw server die is geconfigureerd om deze postverzoeken te ontvangen.
- 6:37Het hoeft alleen maar te luisteren en snel te reageren.
- 6:39Dat is alles.
- 6:40Er is geen complexe logica vereist aan de ontvangende kant.
- 6:42Vang de notificatie op, bevestig ontvangst en verwerk deze.
- 6:45Vergelijk dit nu eens met polling.
- 6:47Bij polling stuur je honderden getverzoeken, elk met de vraag, is er iets nieuws?
- 6:51Meestal is het antwoord nee.
- 6:52Bij webhooks is er slecht één post, de notificatie.
- 6:55Dat is alles.
- 6:56Eén bericht in plaats van honderden.
- 6:57Het verschil in efficiëntie is enorm en je het point hoeft niet ingewikkeld te zijn.
- 7:01Het moet alleen publiek toegankelijk zijn, HTTPS ondersteunen en snel reageren.
- 7:05We bespreken zo wat snel precies betekent.
- 7:07Maar het kernidee is simpel.
- 7:09Jouw het point luistert, Graf belt aan, jij reageert en klaar.
- 7:14Een abonnement aanmaken.
- 7:15Dus, hoe zet je zoiets nu eigenlijk op?
- 7:17Laten we stap voor stap een abonnement aanmaken.
- 7:20Je begint door een HTTP-postverzoek te sturen naar een specifieke URL op Microsoft Graf.
- 7:24Die URL is HTTPS-dubbele punt slash slash graf.microsoft.com slash v1.0 slash subscriptions.
- 7:29Je post rechtstreeks naar het subscriptions het point.
- 7:31In de body van dat verzoek voeg je de details toe van waar je je op wilt abonneren.
- 7:35Er zijn vier belangrijke velden die je moet opgeven.
- 7:37Het eerste is de notification URL.
- 7:39Dit is de URL van jouw het point, de plek waar Microsoft Graf de notificaties naartoe stuurt.
- 7:43Het moet HTTPS zijn en publiek toegankelijk, omdat Graf het vanaf het internet moet kunnen bereiken.
- 7:47Het tweede is resource.
- 7:49Dit vertelt Graf wat je in de gaten wilt houden.
- 7:51Je specificeert het Microsoft Graf resource pad.
- 7:53Bijvoorbeeld, users als je wilt kijken naar gebruikerswijzigingen, of met mailfolders, inbox, messages als je wilt kijken naar nieuwe e-mails in je postvak in.
- 8:00De resource vertelt Graf precies wat voor jou van belang is.
- 8:02Het derde is change type.
- 8:04Dit vertelt Graf over welk type wijzigingen je een melding wilt ontvangen.
- 8:07Je kunt created, updated, deleted of een combinatie hiervan opgeven.
- 8:11Dus, als je alleen geïnteresseerd bent in nieuw aangemaakte gebruikers, zet je change type op created.
- 8:14Als je ook updates wilt ontvangen, zet je het op created, updated.
- 8:17Het vierde is expiration date time.
- 8:19Dit is het moment waarop het abonnement verloopt, want abonnementen duren niet eeuwig.
- 8:23Je stelt een datum en tijd in een Graf stop na dat punt met het sturen van notificaties.
- 8:27De maximale duur hangt af van de resource die je in de gaten houdt.
- 8:29Voor gebruikers en groepen is het maximum ongeveer drie dagen.
- 8:32Voor Drive Items in SharePoint of OneDrive kan dit tot 30 dagen zijn.
- 8:35Je moet de documentatie voor elk resource type controleren.
- 8:38Er is ook een optioneel veld dat het vermelden waard is, client staten.
- 8:41Dit is een geheime reeks die je zelf aanmaakt.
- 8:43Het kan alles zijn wat je maar wilt.
- 8:45Een willekeurige reeks, een boeit, wat je maar kiest.
- 8:47Microsoft Graph voegt deze waarde toe aan elke notificatie die naar je eindpunt wordt gestuurd
- 8:51en jij gebruikt het om te verifiëren dat de notificatie echt van jouw abonnement komt.
- 8:55Als iemand probeert valse notificaties naar je eindpunt te sturen,
- 8:58komt de client staten niet overeen en kun je deze direct afwijzen.
- 9:00Het is een eenvoudige beveiligingsmaatregel, maar wel een belangrijke.
- 9:03Een abonnement aanmaken is als je inschrijven voor de bezorging van een krant.
- 9:07Je geeft de krant je adres door.
- 9:08Dat is je notificatie URL.
- 9:10Je vertelt ze welke secties je wilt.
- 9:12Dat is je resource en wijzigingstype.
- 9:13En je geeft aan hoe lang je wilt dat de bezorging doorgaat.
- 9:16Dat is je vervaldatum en tijd.
- 9:18De krant regelt de rest.
- 9:19Maar hier is het punt abonnementen verlopen.
- 9:21Je kunt er niet een aanmaken en het daarna vergeten.
- 9:24Nadat de vervaldatum en tijd zijn verstreken,
- 9:26stopt Graph met het sturen van notificaties en is je abonnement weg.
- 9:29Als je notificaties wilt blijven ontvangen,
- 9:31moet je het abonnement verlengen voordat het verloopt
- 9:32door een patch verzoek naar het abonnements-eindpunt te sturen met een nieuwe vervaldatum en tijd.
- 9:36Dus een abonnement aanmaken is de eerste stap, maar niet de laatste.
- 9:39Je moet de levenscyclus beheren.
- 9:41Daar zullen we later meer over praten.
- 9:43De validatie handshake.
- 9:44Voordat je abonnement live gaat, is er één stap die je niet kunt overslaan.
- 9:47Microsoft Graph accepteert niet zomaar je abonnementsverzoek en begint dan notificaties te sturen.
- 9:52Het moet eerst bevestigen dat je eindpunt echt is en klaar is om ze te ontvangen.
- 9:55Dit is hoe het werkt.
- 9:56Wanneer je je postverzoek stuurt om een abonnement aan te maken,
- 9:59stuurt Microsoft Graph direct een testpost naar je notificatie-URL.
- 10:02Die testpost bevat een query-parameter genaamd validation token.
- 10:06Het is gewoon een willekeurige reeks.
- 10:07Je eindpunt moet dat token pakken en terugsturen als een platte tekstresponse
- 10:11en dat moet binnen 10 seconden gebeuren.
- 10:12Zie het als een courier die een pakketje bezorgt.
- 10:15Ze komen aan je deur en vragen, is dit het juiste adres?
- 10:17Kun je dat bevestigen?
- 10:18Aanhalingsteken.
- 10:19Je moet ervoor tekenen.
- 10:20Doe je dat niet, dan lopen ze weg.
- 10:21De courier laat het pakket niet achter.
- 10:23Ze vertrekken gewoon.
- 10:24Dat is precies wat hier gebeurt.
- 10:25Microsoft Graph zegt eigenlijk, ik sta op het puntje belangrijke notificaties te sturen.
- 10:29Bewijs dat je de juiste persoon op het juiste adres bent.
- 10:32Aanhalingsteken.
- 10:32Je het point reageert door het validatietoken terug te sturen.
- 10:35Wat Graph vertelt.
- 10:36Ja, ik ben er.
- 10:37Ik luister.
- 10:38Stuur me de notificaties.
- 10:39Aanhalingsteken.
- 10:41Dit is het punt waar veel ontwikkelaars de fout in gaan.
- 10:43Het validatietoken moet worden geretourneerd als platte tekst.
- 10:45Geen JSON, geen HTML, platte tekst.
- 10:48En de response moet een content type header hebben die op tekst.
- 10:50Plain staat.
- 10:51Als je het terugstuurt verpakt in JSON of op welke manier dan ook gecodeerd.
- 10:54Mislukt de validatie.
- 10:55Je abonnement wordt niet aangemaakt.
- 10:57Microsoft Graph geeft een foutmelding en je vraagt je af wat er misging.
- 11:00Er is nog een technisch detail dat belangrijk is om te weten.
- 11:02De validatieservice van Microsoft Graph ondersteunt TLS 1.3 niet betrouwbaar.
- 11:06Het onderhandelt via TLS 1.2, dus als je het point alleen TLS 1.3 verbindingen accepteert,
- 11:12mislukt de validatie handshake voordat je code draait.
- 11:14Zorg ervoor dat je het point TLS 1.2 ondersteunt, in ieder geval voor de validatiestap.
- 11:19Daarna kun je elke TLS versie afdwingen die je wilt voor de daadwerkelijke notificaties.
- 11:23Het goede nieuws is dat deze validatie handshake slechts één keer per abonnement plaatsvindt.
- 11:27Het is niet iets wat je het point elke keer hoeft af te handelen bij een notificatie, alleen de eerste keer.
- 11:31Zodra Graph bevestigt dat je het point echt is, vertrouwt het dit voor de duur van het abonnement.
- 11:36Je hoeft dit dus maar één keer goed in te stellen.
- 11:39Notificaties en beveiliging afhandelen.
- 11:40Zodra de validatie handshake is geslaagd en je abonnement actief is, verstuurt Microsoft Graph die notificaties.
- 11:46Dus, hoe zien die er in de praktijk eigenlijk uit?
- 11:48Wanneer er iets verandert, stuurt Graph een HTTP-post naar je het point met een JSON-object in de body.
- 11:54Dat object bevat de resource die veranderde, het type wijziging, gemaakt, bijgewerkt of verwijderd en een tijdstempel.
- 12:00Het bevat ook de client-statenwaarde die je instelde toen je het abonnement aanmaakte.
- 12:04Dat is je geheime string, je manier om te weten dat het bericht echt is.
- 12:07Dit is dus het eerste wat je moet doen als er een notificatie binnenkomt.
- 12:10Valideer die client-staten.
- 12:11Vergelijk de waarde in de notificatie met het geheim dat je opsloeg bij het aanmaken van het abonnement.
- 12:16Als ze niet overeen komen, gooi je het dan direct weg.
- 12:18Het kan nep zijn, iemand die je systeem probeert te misleiden.
- 12:21Dit is belangrijk omdat je het point op het openbare internet staat.
- 12:24Iedereen die je URL kent, kan er een postverzoek naar sturen.
- 12:27Zonder client-statenvalidatie heb je geen manier om echte Microsoft Graph notificaties van neppen te onderscheiden.
- 12:32Het is een eenvoudige controle, maar wel je eerste verdedigingslinie.
- 12:36Zodra je hebt bevestigd dat de notificatie legitiem is, moet je snel reageren.
- 12:39Microsoft Graph verwacht binnen 3 seconden een 200-level HTTP-response.
- 12:43Als je er langer over doet, merkt Graph dat.
- 12:45En als dat te vaak gebeurt, begint Graph je anders te behandelen.
- 12:48Dit is hoe de throttling werkt.
- 12:50Als meer dan 10% van je reacties in een periode van 10 minuten de grens van 3 seconden overschrijdt,
- 12:54markeert Microsoft Graph je eindpunt als traag.
- 12:56Wanneer dat gebeurt, worden nieuwe notificaties met 10 minuten vertraagd.
- 13:00Ze komen uiteindelijk nog wel aan, maar je verliest de real-time levering.
- 13:03En als het erger wordt, met meer dan 15% van je reacties die langer dan 10 seconden duren,
- 13:07markeert Graph je eindpunt als dropped.
- 13:09In die status worden notificaties gedurende 10 minuten volledig genegeerd.
- 13:12Hier komt het enge gedeelte.
- 13:13Verloren notificaties kunnen niet worden hersteld.
- 13:16Ze zijn weg en je krijgt ze nooit meer terug.
- 13:17Zie het als een bezette telefoonlijn.
- 13:19Als je niet snel opneemt, probeert de beller het later opnieuw.
- 13:22Maar als je nooit opneemt, geeft de beller het uiteindelijk op.
- 13:24Microsoft Graph is de beller en jouw eindpunt is de telefoon.
- 13:27Neem snel op, anders loop je het risico het bericht te verliezen.
- 13:30Dus, wat is hier de beste aanpak?
- 13:32Bevestig onmiddellijk en verwerk asynchroon.
- 13:34Je eindpunt moet de status van de client valideren, de notificatie accepteren en zo snel mogelijk een 200 of 202 reactie terugsturen.
- 13:41Plaats de notificatie daarna in een wachtrij voor achtergrondverwerking, een Azure wachtrij, een servicebus of zelfs een eenvoudige database-tabel.
- 13:47Het doel is om snel uit de responscyclus te komen en je achtergrondprocessen het zware werk te laten doen.
- 13:52En nog een beveiligingsherinnering, je eindpunt moet HTTPS zijn, zonder uitzonderingen.
- 13:56Microsoft Graph verstuurt geen notificaties naar een HTTP-eindpunt.
- 14:00En je eindpunt moet publiek toegankelijk zijn.
- 14:02Als het achter een firewall of VPN zit, kan Graph het niet bereiken.
- 14:05Voor ontwikkeling kun je tools zoals GOK gebruiken om een publieke tunnel naar je lokale machine te maken.
- 14:09Maar in productie moet je eindpunt ergens staan waar Graph het kan vinden.
- 14:13Het levend houden van de notificatie-lifecycle.
- 14:16Je hebt dus je abonnement opgezet, notificaties stromen binnen en alles ziet er goed uit.
- 14:20Maar dit is iets waar veel mensen door verrast worden.
- 14:22Je abonnement heeft een verloopdatum.
- 14:24Het duurt niet voor altijd.
- 14:25Afhankelijk van de bron die je in de gaten houdt, is de maximale duur van een abonnement meestal tussen de 3 en 7 dagen.
- 14:30Voor sommige bronnen, zoals Drive Items in SharePoint, kun je tot 30 dagen krijgen.
- 14:34Maar het punt is, het is niet permanent.
- 14:35Je kunt niet zomaar een abonnement aanmaken en het vergeten.
- 14:38Zie het als een tijdschriftabonnement.
- 14:40Je meldt je aan, je ontvangt de nummers en alles is in orde.
- 14:43Maar als je niet verlengt voordat het abonnement afloopt, stoppen de nummers met komen.
- 14:46Hetzelfde geldt hier.
- 14:47Als uw abonnement verloopt, stopt Microsoft Drive met het verzenden van meldingen.
- 14:50En misschien merkt u het pas als u zich afvraagt waarom er niets gebeurt.
- 14:53U heeft dus een vernieuwingstrategie nodig.
- 14:55De manier om te vernieuwen is eenvoudig.
- 14:57Stuur een patchverzoek naar het abonnementseindpunt met de abonnementsidee en update de verloopdatum naar een nieuwe datum in de toekomst.
- 15:02Dat verlengt de levensduur van het abonnement.
- 15:04U kunt dit zo vaak doen als u wilt, zolang u het maar doet voordat het huidige abonnement verloopt.
- 15:09Microsoft Drive helpt u hierbij met zogeheten levenscyclus meldingen.
- 15:13Wanneer u een abonnement aanmaakt, kunt u een aparte URL opgeven, de levenscyclus meldings URL.
- 15:18Microsoft Drive stuurt waarschuwingen naar die URL wanneer bepaalde dingen gebeuren.
- 15:22Bijvoorbeeld wanneer uw abonnement bijna verloopt, uw toegangstoken bijna verloopt of wanneer de rechten van uw app wijzigen.
- 15:27Deze levenscyclus meldingen geven u een seintje.
- 15:30U hoeft niet te raden wanneer uw abonnement afloopt.
- 15:32Drive vertelt u, hé, uw abonnement verloopt over een paar uur.
- 15:35Misschien wilt u het vernieuwen.
- 15:37Aanhalingsteken.
- 15:37Het is alsof u een herinnering krijgt van uw tijdschriftuitgever dat uw abonnement bijna afloopt.
- 15:41Erg handig als u oplet.
- 15:43Maar wat gebeurt er als er toch iets misgaat?
- 15:45Misschien is uw eindpunt een tijdje uit de lucht of gaan meldingen verloren omdat u te traag was.
- 15:49Wat dan?
- 15:50Dat is waar Delta Query om de hoek komt kijken.
- 15:52Een aparte functie van Microsoft Drive waarmee u vraagt.
- 15:54Wat is er veranderd sinds de laatste keer dat u controleerde?
- 15:56En het geeft alleen de wijzigingen terug, niets anders.
- 15:59Zo werkt het.
- 16:00De eerste keer dat u een Delta Query uitvoert op een bron, bijvoorbeeld gebruikers, geeft Graph alle gebruikers in uw tenant terug.
- 16:05Maar het geeft ook iets extra's terug, een speciale link genaamd een Delta Link.
- 16:08U slaat die link op.
- 16:09De volgende keer dat u dezelfde query uitvoert, gebruikt u die Delta Link.
- 16:12En in plaats van weer alle gebruikers op te halen, krijgt u alleen de wijzigingen sinds uw laatste verzoek.
- 16:16Nieuwe gebruikers, bijgewerkte gebruikers, verwijderde gebruikers.
- 16:19Dat is het.
- 16:20Zie het als het lezen van een wat is er nieuw lijst in plaats van elke keer de hele encyclopedie te lezen.
- 16:24Veel sneller, veel minder data.
- 16:26Dit is het slimme patroon.
- 16:27Combineer webhooks met Delta Query.
- 16:29Gebruik webhooks om te weten wanneer er iets is veranderd.
- 16:31En gebruik daarna Delta Query om precies te achterhalen wat er is veranderd.
- 16:34Laat me uitleggen waarom dat belangrijk is.
- 16:36Webhooks zijn snel, maar ze zijn niet perfect.
- 16:38Meldingen kunnen verloren gaan, abonnementen kunnen verlopen en uw eindpunt kan uitvallen.
- 16:41Maar Delta Query is betrouwbaar.
- 16:42Je kunt het op elk gewenst moment uitvoeren en het geeft je een volledige lijst met wijzigingen sinds je laatste controle.
- 16:46Dus, zelfs als je een melding mist, kun je alles bijwerken.
- 16:49Dit is de gebruikelijke werkwijze.
- 16:50Stel een webhook abonnement in voor gebruikerswijzigingen.
- 16:53Voer een initiële Delta Query uit om de basisstatus op te halen en sla de Delta Link op.
- 16:57Wanneer er een webhook binnenkomt die aangeeft dat een gebruiker is gewijzigd, voer dan een Delta Query uit met je opgeslagen Delta Link.
- 17:01Dat geeft je de exacte wijziging.
- 17:03Verwerk deze en sla vervolgens de nieuwe Delta Link uit dat antwoord op.
- 17:06De volgende keer dat er een webhook binnenkomt, herhaal je het proces.
- 17:09En als je ooit een melding mist of als je abonnement verloopt, voer dan gewoon de Delta Query opnieuw uit.
- 17:13Je krijgt alles wat je gemist hebt.
- 17:15Het is een vangnet.
- 17:16Webhooks bieden snelheid en Delta Query biedt betrouwbaarheid.
- 17:19Samen vormen ze een krachtige combinatie.
- 17:22Praktijkvoorbeeld en volgende stappen.
- 17:24Stel je voor dat een nieuwe werknemer morgen bij je bedrijf komt werken.
- 17:27Iemand van ouwer maakt hun account aan in Microsoft en traideen die ene actie zetten kettingreactie in gang.
- 17:32Als je een webhook abonnement voor gebruikerswijzigingen hebt ingesteld,
- 17:36merkt Microsoft Craft It direct op en stuurt een post naar jouw eindpunt.
- 17:39Dit is wat er vervolgens gebeurt.
- 17:40Je eindpunt ontvangt de melding, valideert de client status en als deze overeenkomt met je geheime sleutel, weet je dat het legitiem is.
- 17:46Je stuurt binnen 3 seconden een 202 accepted reactie terug om de melding te bevestigen en vervolgens pakt je achtergrondproces het op.
- 17:53De worker ziet dat er een gebruiker is aangemaakt, maar de melding bevat niet alle details,
- 17:56dus voert hij een Delta Query uit met je opgeslagen Delta-aling.
- 17:59Dat geeft de volledige informatie van de nieuwe gebruiker terug, naam, e-mail, afdeling, functietitel, manager, alles wat je nodig hebt.
- 18:05Nu gebruikt je worker die informatie om een account aan te maken voor de nieuwe medewerker in je externe tijdregistratiesysteem.
- 18:10Het verstuurt een welkomstmail.
- 18:12Het voegt hen toe aan de juiste distributielijsten.
- 18:14Dit alles gebeurt binnen seconden nadat Auer het account in Entra ID heeft aangemaakt.
- 18:18Geen polling, geen handmatige stappen, geen vertragingen, denk eens aan het alternatief.
- 18:23Zonder webhooks zou je elke paar minuten het eindpunt van de gebruiker moeten pollen,
- 18:26honderden verzoeken per dag en zelfs dan zie je de nieuwe gebruiker misschien pas na enkele minuten.
- 18:30Met webhooks gaat het direct.
- 18:32Eén melding, één Delta Query, klaar.
- 18:34Dat is de werkelijke waarde.
- 18:35Je systeem wordt sneller, efficiënter en bereikt minder snel de limieten voor frotteling.
- 18:39In plaats van constant om updates te vragen bij Graf, laat je Graf je vertellen wanneer er iets gebeurt.
- 18:43Het is een fundamentele verandering in hoe je integraties bouwt.
- 18:45Dus dit is wat ik wil dat je probeert.
- 18:47Denk aan één proces waarvoor je momenteel nog poolt.
- 18:49Misschien controleer je op nieuwe e-mails in een gedeelde mailbox.
- 18:52Misschien hou je bestandswijzigingen in een SharePoint bibliotheek in de gaten.
- 18:55Misschien monitor je gebruikersupdates voor je ouder systeem.
- 18:57Zou een webhook dat pollen kunnen vervangen?
- 18:59In de meeste gevallen is het antwoord ja en hoef je niet alles zelf te bouwen.
- 19:02Misschien is het antwoord.