Latest / M365.FM – Microsoft 365, Copilot & KI Podcast auf Deutsch / Microsoft Graph Webhooks einfach erklärt: Echtzeit-Benachrichtigungen statt ständigem Polling (KI-Synchronfassung)
Transcript
- 0:00Bereit für 10 Tage Microsoft 365, Co-Pilot, KI, Azure und die Menschen, die die Zukunft der Arbeit gestalten?
- 0:07Diesen Januar ist die M365-Con zurück und wird noch größer.
- 0:11Seien Sie dabei bei Live Sessions, Demos aus der Praxis und praktischem Wissen von MVPs und Branchenexperten aus aller Welt.
- 0:18Keine generischen Folien, keine endlosen Schlagworte.
- 0:21Wir stellen uns den echten Herausforderungen.
- 0:23Co-Pilot Studio, KI Agents Fabric, Sicherheit, Governance und Automatisierung.
- 0:27Ganz gleich, ob Sie IT-Experte, Entwickler oder Führungskraft sind, es gibt speziell auf Sie zugeschnittene Sessions.
- 0:35An 10 vollen Tagen können Sie verschiedene Technologien kennenlernen und sich mit einer globalen Community vernetzen.
- 0:40Sehen Sie sich die Live-Übertragung an und nehmen Sie praktische Einblicke mit nach Hause in Ihr Unternehmen.
- 0:45Januar 2027, 10 Tage, eine Microsoft-Community. Die Registrierung ist ab sofort möglich.
- 0:51Besuchen Sie m35560.com.net und sichern Sie sich noch heute Ihren Platz.
- 0:55Das ist m355.net, der in der Erde.
- 1:00Melden Sie sich jetzt auf m35560.com.net an und wir sehen uns im Januar live.
- 1:05Hallo zusammen und herzlich willkommen zu einer weiteren Folge von Microsoft Knowledge Nuggets hier auf m355.fm.
- 1:10Ich bin euer Moderator Milko Peters.
- 1:11Das heutige Thema ist eines, von dem fast jeder, der mit Microsoft 365 arbeitet, schon einmal gehört hat.
- 1:15Aber nur sehr wenige können es verständlich erklären.
- 1:17Was genau sind GraphWebhooks?
- 1:19Warum sollten Sie sich mit Ihnen befassen, anstatt die Dinge auf die altbewährte Weise zu tun?
- 1:22Stellen Sie sich vor, Sie erwarten einen wichtigen Brief.
- 1:23Sie gehen zu Ihrem Briefkasten, er ist leer.
- 1:25Sie gehen zurück.
- 1:26Zehn Minuten später sehen Sie erneut nach.
- 1:28Immer noch nichts.
- 1:29Sie tun dies den ganzen Tag und verschwenden Zeit und innig.
- 1:31Das ist Polling.
- 1:31Stellen Sie sich nun eine andere Welt vor.
- 1:33Der Postbote klingelt bei Ihnen, sobald ein Brief eintrifft.
- 1:35Sie schauen nicht nach.
- 1:36Sie warten, bis es klingelt.
- 1:37Das sind Webhooks.
- 1:38Am Ende dieser Folge werden Sie verstehen, was GraphWebhooks sind,
- 1:41warum Sie die ständige Überprüfung ersetzen und wie die einzelnen Teile zusammenpassen.
- 1:45Das Polling-Problem.
- 1:46Lassen Sie uns das auf.
- 1:47Um zu verstehen, warum Webhooks wichtig sind, müssen Sie verstehen, warum Polling schädlich ist.
- 1:51So funktionieren die meisten Anwendungen heute.
- 1:53Ihr Rand benötigt einer.
- 1:54Sie fragt Microsoft Graph, hey, gibt es neue Benutzer?
- 1:57Graph antwortet nein.
- 1:59Ihre App wartet also einen Moment und fragt dann erneut, gibt es inzwischen neue Benutzer?
- 2:02Immer noch keine.
- 2:03Dieser Prozess wird als Abfrage gezeigt.
- 2:05Stellen Sie sich vor, Sie rufen ständig einen Freund an, um zu fragen, ob er Neuigkeiten hat.
- 2:08Sie wählen den Anruf, er nimmt ab, Sie fragen nachher, er sagt nein, Sie legen auf.
- 2:11Dann rufen Sie fünf Minuten später erneut an und dann wieder.
- 2:13Sie verschwenden seine Zeit um ihre eigene.
- 2:15Wahrscheinlich nerven Sie ihn sogar.
- 2:16Stellen Sie sich nun vor, tausende von Apps würden Microsoft Graph gleichzeitig auf diese Weise abfragen.
- 2:19Jede App fragt alle paar Minuten die gleichen Fragen ab und erhält die gleichen Antworten.
- 2:23Äh, das sind eine Menge Lärm.
- 2:25Microsoft hat einen Begriff für zu aggressive Abfragen.
- 2:28Drosselung oder wie manche Entwickler es nennen, Graph Jail.
- 2:32Wenn Sie zu viele Anfragen senden, sagt Microsoft, okay, das war's für eine Weile.
- 2:35Microsoft begrenzt die Anzahl der Aufrufe Ihrer App.
- 2:37Sobald Sie gedrosselt sind, wird alles langsamer.
- 2:39Legitime Anfragen häufen Sie.
- 2:40Ihre App funktioniert in Ordnung.
- 2:41Sie wissen nicht, wann Sie entlassen werden.
- 2:44Über wie viele Anforderungen sprechen wir?
- 2:45Angenommen, Ihre App fragt alle fünf Minuten Benutzeränderungen ab.
- 2:48Das entspricht zwölf Anforderungen pro Stunde.
- 2:50Über einen ganzen Tag verteilt sind das 82 Anforderungen und das nur für eine Ressource.
- 2:54Wenn Sie außerdem Gruppen, Dateien, Nachrichten und Kalenderereignisse abfragen, entstehen pro Tag tausende unnötige Anforderungen.
- 3:00Die meisten davon geben nichts zurück, also null Änderungen.
- 3:02Dennoch haben Sie den Anruf getätigt.
- 3:03Und hier ist der Clou.
- 3:04Selbst wenn Sie alle fünf Minuten eine Abfrage durchführen, erhalten Sie immer noch keine Echtzeitaktualisierung.
- 3:08Eine Minute nach Ihrer letzten Abfrage könnte sich etwas ändern.
- 3:11Sie erfahren erst in vier Minuten davon.
- 3:12Sie verschwenden Ressourcen und verpassen trotzdem das Zeitfenster.
- 3:16Vergleichen Sie das nur mit einem Ereignis gesteuerten Ansatz.
- 3:18Anstatt Microsoft Graph alle paar Minuten aufzurufen, warten Sie, bis Microsoft Graph Sie anruft.
- 3:21Sie richten einen Listener ein.
- 3:23Wenn sich etwas ändert, sendet Ihnen Graph eine Benachrichtigung.
- 3:25Sie wählen nicht.
- 3:26Sie nehmen ab, wenn das Telefon klingelt.
- 3:28Was sind Webhooks?
- 3:29Was genau ist ein Webhook?
- 3:31Hier ist die einfachste Definition.
- 3:32Ein Webhook ist eine HTTP-Anforderung, die automatisch gesendet wird, wenn etwas passiert.
- 3:36Sie fragen nicht danach.
- 3:37Der Server sendet Sie einfach an Sie.
- 3:39Stellen Sie sich das wie eine Türklein.
- 3:40Sie stehen nicht draußen und schauen alle paar Minuten nach der Tür.
- 3:43Die installieren eine Klingel.
- 3:44Wenn jemand hereinkommt, klingelt er.
- 3:45Wir hören das Klingeln und antworten.
- 3:47Die Türklingel übernimmt die Überwachung für Sie.
- 3:49Webhooks werden manchmal auch als umgekehrte APIs bezeichnet.
- 3:51Bei einer normalen API stellt Ihre App eine Anforderung und der Server antwortet.
- 3:55Ihre App hat die Kontrolle.
- 3:56Bei einem Webhook sendet der Server die Anforderung an Ihre App.
- 3:59Der Server hat die Kontrolle, überträgt aber Daten, anstatt auf Ihre Anfrage zu warten.
- 4:02Microsoft Graph verwendet mittlerweile auch Webhooks.
- 4:04Microsoft nennt sie jedoch Änderungsbenachrichtigungen.
- 4:07Es ist dasselbe, nur der Name ist anders.
- 4:08Wenn sich in Microsoft 365 etwas ändert, sendet Graph eine HTTP-Postnachricht an eine von Ihnen angegebene URL.
- 4:15Diese Postnachricht enthält Informationen darüber, was ich gerne habe.
- 4:17Es gibt viele Dinge, über die Sie benachrichtigt werden können.
- 4:20Ein neuer Benutzer wird in Ihrem Mandanten erstellt, eine Datei in SharePoint aktualisiert,
- 4:24eine Nachricht in Teams gesendet, ein Kalenderereignis geändert oder eine Gruppe erhält, ein neues Mitglied.
- 4:28All diese Ereignisse können eine Benachrichtigung auslösen.
- 4:30Hier ist ein Beispiel aus der Praxis.
- 4:31Angenommen, Sie leiten ein Unternehmen mit einem Zeiterfassungssystem.
- 4:34Wenn ein neuer Mitarbeiter einsteigt, möchten Sie automatisch ein Konto erstellen.
- 4:37Ohne Webhooks fragen Sie den Benutzer im Punkt alle paar Minuten ab, um zu prüfen, ob neue Personen hinzukommen.
- 4:41Mit Webhooks abonnieren Sie Ereignisse zur Benutzererstellung.
- 4:44Wenn jemand beitritt, sendet Graph Ihrer App eine Benachrichtigung.
- 4:47Ihre App empfängt diese, validiert Sie und erstellt das Konto alles innerhalb von Sekunden.
- 4:51Keine Abfragen, keine verschwendeten Anforderungen.
- 4:53Ein weiteres Beispiel.
- 4:55Sie haben eine SharePoint-Dokumentbibliothek in die Belege hochgeladen werden.
- 4:57Ohne Webhooks fragen Sie die Bibliothek ständig ab.
- 5:00Mit Webhooks benachrichtigt Sie Graph, sobald eine Datei hinzugefügt wird.
- 5:03Ihre App ruft die Datei ab, prüft, ob es sich um einen Beleg handelt und verarbeitet sie automatisch.
- 5:07Das ist die Stärke von Webhooks.
- 5:08Anstatt dass Ihre App ständig fragt, gibt es etwas Neues?
- 5:11Lassen Sie sich vom System benachrichtigen, wenn etwas passiert.
- 5:13Das ist effizienter, zuverlässiger und viel schneller.
- 5:17Funktionsweise von Microsoft Graph Webhooks
- 5:18Wissen Sie, was Webhooks sind und warum Abfragen das Problem darstellen?
- 5:21Sehen wir uns nun an, wie Microsoft Graph Webhooks tatsächlich funktionieren.
- 5:24Denn der Ablauf ist einfacher, als Sie vielleicht denken.
- 5:26Er beruht auf drei Elementen.
- 5:27Einem Abonnement, einer Benachrichtigung und Ihrem Endpunkt.
- 5:31Zuerst erstellen Sie ein Abonnement.
- 5:32Sie teilen Microsoft Graph mit.
- 5:34Hey, ich möchte wissen, wenn sich etwas Bestimmtes ändert.
- 5:36Sie geben Graph die Details darüber, was beobachtet werden soll und wohin die Nachrichten gesendet.
- 5:39Stellen Sie sich das für die Anmeldung für eine Benachrichtigung.
- 5:41Sie teilen dem System mit, was Sie interessiert und geben Ihre Kontaktinformation an.
- 5:44Zweitens überwacht Microsoft Graph diese Ressource.
- 5:46Es sucht nach Änderungen.
- 5:47Wenn etwas passiert, so mal.
- 5:48Wenn ein Benutzer etwas erstellt, eine Datei aktualisiert oder eine Nachricht eingeht, wird Graph darüber informiert.
- 5:52Drittens sendet Graph eine Benachrichtigung.
- 5:54Es sendet eine HTTP-Postbefehl an die von Ihnen angegebene URL.
- 5:57Dieser Post enthält Informationen darüber, was sich geändert hat.
- 6:00Ihr Endpunkt empfängt die Benachrichtigung und Ihre Anwendung verarbeitet sich.
- 6:02Der allgemeine Ablauf ist also einfach.
- 6:04Sie abonnieren. Graph überwacht die Änderungen.
- 6:06Graph sendet eine Postnachricht, wenn sich etwas ändert.
- 6:08Lassen Sie uns diese drei Bausteine etwas genauer aufschlösen.
- 6:10Das Abonnement ist Ihre Anforderung, benachrichtigt zu werden.
- 6:13Das ist so, als würden Sie sagen, ich möchte wissen, wenn mein Mandant ein neuer Benutzer hinzugefügt wird.
- 6:16Sie senden diese Anforderung an Microsoft Graph, speichert sie.
- 6:19Von diesem Zeitpunkt an überwacht Graph die Änderungen in Ihrem Auftrag.
- 6:22Die Benachrichtigung ist der eigentliche Alarm.
- 6:24Eine HTTP-Postnachricht, die Graph an Ihren Endpunkt sendet.
- 6:26Der Posttext enthält Details zur Änderung zum Beispiel.
- 6:29Wer welche Ressource sich geändert hat, welche Art von Änderungen stattgefunden hat oder wann sie stattgefunden haben.
- 6:32Ihr Endpunkt ist die Tür, die Sie offen lassen.
- 6:34Es handelt sich um eine URL auf Ihrem Server, die für den Empfang dieser Postanforderung konfiguriert.
- 6:37Sie muss nur lauschen und schnell reagieren.
- 6:39Das ist alles.
- 6:40Auf der empfangenen Seite ist keine komplexe Logik erforderlich.
- 6:42Sie fangen einfach die Benachrichtigung ab, bestätigen Sie und verarbeiten Sie.
- 6:45Vergleichen Sie diesen mit dem Abruf.
- 6:46Beim Abruf fehlen hunderte von GT-Anforderungen die jeweils fragen, gibt es etwas Neues?
- 6:50Neues?
- 6:51Meistens lautet die Antwort Nein.
- 6:52Bei Webhooks gibt es nur einen Post, die Benachrichtigung.
- 6:55Das ist alles.
- 6:56Eine Nachricht anstelle von hundert.
- 6:57Der Effizienzunterschied ist enorm.
- 6:59Und Ihr Endpunkt muss nicht kompliziert sein.
- 7:01Er muss nur öffentlich zugänglich sein, HTTPS sprechen und schnell reagieren.
- 7:05Wir sprechen gleich darüber, was schnell bedeutet.
- 7:07Aber die Kernidee ist einfach.
- 7:09Ihr Endpunkt hört zu, Graph ruft auf, Sie reagieren und fertig.
- 7:14Erstellen ins Abonnement.
- 7:15Wie richtet man nun ein solches Abonnement?
- 7:17Lassen Sie uns Schritt für Schritt durch die Erstellung eines Abonnements gehen.
- 7:20Sie beginnen, indem Sie eine HTTP-Postanforderung an eine bestimmte URL Microsoft Graph senden.
- 7:24Diese URL lautet https.com.
- 7:29Sie senden direkt an den Endpunkt für Abonnements.
- 7:31In diesem Anforderungstext geben Sie die Details zu den Inhalten an, die Sie abonnieren möchten.
- 7:35Sie müssen vier wichtige Felder angeben.
- 7:37Als erstes ist die Benachrichtigungs-URL.
- 7:39Dies ist die URL Ihres Endpunkts, an die Microsoft Graph die Benachrichtigungen sendet.
- 7:43Es muss HTTPS sein und der Zugriff muss öffentlich sein, da Graph über das Internet darauf zugreifen muss.
- 7:47Zweitens die Ressource.
- 7:49Hiermit teilen Sie Graph mit, was Sie überwachen möchten.
- 7:51Sie geben den Pfad zur Microsoft Graph Ressource an.
- 7:53Beispielsweise Benutzer, wenn Sie auf Benutzsenderungen achten möchten.
- 7:55Oder Posteingangsnachrichten, wenn Sie auf neue E-Mails in Ihrem Posteingang achten möchten.
- 8:00Die Ressource teilt Graph genau mit, was für Sie wichtig ist.
- 8:02Drittens der Änderungstyp.
- 8:04Hiermit teilen Sie Graph mit, über welche Art von Änderungen Sie benachrichtigt werden sollten.
- 8:07Sie können erstellt, aktualisiert, gelöscht oder eine beliebige Kombination davon angeben.
- 8:11Wenn Sie also nur an der Erstellung neuer Benutzer interessiert sind, legen Sie den Änderungstyp auf erstellt fest.
- 8:14Wenn Sie auch an Aktualisierungen interessiert sind, legen Sie ihn auf erstellt oder aktualisiert fest.
- 8:17Viertens das Ablaufdatum slash Zeit.
- 8:19Dies ist der Zeitpunkt, an dem das Abonnement abläuft, da Abonnements nicht unbegrenzt gültig sind.
- 8:22Sie legen ein Datum und eine Uhrzeit fest und Graph sendet danach keine Benachrichtigungen mehr.
- 8:27Die maximale Dauer hängt von der Ressource ab, die Sie überwachen.
- 8:29Für Benutzer und Gruppen beträgt die maximale Dauer ca. 3 Tage.
- 8:31Für Laufwerkelemente in SharePoint oder OneDrive kann Sie bis zu 30 Tage betragen.
- 8:36Sie müssen die Dokumentation für jeden Ressourcentyp prüfen.
- 8:38Es gibt außerdem ein erwähnenswertes optionales Feld, die Client-Status.
- 8:41Dies ist eine geheime Zeichenfolge, die Sie erstellen.
- 8:43Sie können einen beliebigen Wert eingehen.
- 8:45Eine zufällige Zeichenfolge, eine gültige Zeichenfolge.
- 8:47Microsoft Graph fügt diesen Wert in jede Benachrichtigung ein, die an Ihren Endpunkt gesendet wird.
- 8:51Und Sie verwenden ihn, um zu überprüfen, ob die Benachrichtigung tatsächlich von Ihrem Abonnement stammt.
- 8:55Wenn jemand versucht, gefälschte Benachrichtigungen an Ihren Endpunkt zu senden,
- 8:58stimmt der Client-Status nicht überein und Sie können die Benachrichtigung sofort ablehnen.
- 9:01Dies ist eine einfache Sicherheitsmaßnahme wichtig.
- 9:03Das Erstellen eines Abonnements ist wie das Abonnieren eines Zeitungsartikels.
- 9:07Sie geben der Zeitung Ihre Adresse.
- 9:08Das ist Ihre Benachrichtigungs-URL.
- 9:10Sie teilen der Zeitung mit welchen Rubriken Sie erhalten möchten und geben Ihre Ressourcen in Endungen.
- 9:13Außerdem geben Sie an, wie lange die Zustellung fortgesetzt werden soll.
- 9:16Es ist Ihr Ablaufdatum und die Uhrzeit.
- 9:17Die Zeitung kümmert sich um Interessen.
- 9:19Aber hier ist der Clou, Abonnements laufen ab.
- 9:21Sie können kein Abonnement erstellen und dann vergessen.
- 9:23Nach Ablauf des Ablaufdatums sendet Graph keine Benachrichtigungen mehr und Ihr Abonnement ist nicht mehr gültig.
- 9:29Wenn Sie weiterhin Benachrichtigungen erhalten möchten, müssen Sie das Abonnement vor Ablauf verlängern.
- 9:33Senden Sie dazu eine Patch-Anforderung und einen neuen Ablaufdatum oder einer neuen Uhrzeit an den Abonnement.
- 9:37Das Erstellen eines Abonnements ist also der erste Schritt, aber nicht der Lekt.
- 9:39Sie müssen den Lebenszyklus verwalten.
- 9:41Darauf gehen wir später noch genauer an.
- 9:43Der Validierungshandshake.
- 9:44Bevor Ihr Abonnement live geht, gibt es einen Schritt, den Sie nicht überspringen dürfen.
- 9:47Microsoft Graph akzeptiert nicht einfach nur Ihre Abonnementanforderung und beginnt mit dem Senden von Benachrichtigungen.
- 9:51Zunächst muss bestätigt werden, dass Ihr Endpunkt echt und bereit ist, Benachrichtigungen zu empfangen.
- 9:55Und so funktioniert es.
- 9:56Wenn Sie Ihre Beitragsanforderungen zum Erstellen eines Abonnements senden,
- 9:59sendet Microsoft Graph sofort einen Testbeitrag an Ihre Benachrichtigungs-URL.
- 10:02Dieser Testbeitrag enthält eine Abfrageparameter namens Validierungstoken.
- 10:06Es handelt sich dabei nur um eine zufällige Zeit.
- 10:07Ihr Endpunkt muss dieses Token abrufen und als nur Textantwort zurücksenden.
- 10:11Dies muss innerhalb von 10 Sekunden erfolgen.
- 10:13Stellen Sie sich, dass wir ein Kurier vor, der ein Paket ausliefert.
- 10:15Er steht vor Ihrer Tür und fragt, ist das die richtige Adresse?
- 10:17Können Sie das bestätigen?
- 10:18Sie müssen dafür unterschreiben.
- 10:20Wenn Sie das nicht tun, gehen Sie weg.
- 10:20Der Kurier hinterlässt das Paket nicht.
- 10:23Sie gehen einfach.
- 10:24Genau das passiert hier.
- 10:25Microsoft Graph sagt, ich bin dabei, Ihnen wichtige Benachrichtigungen zu senden.
- 10:29Beweisen Sie, dass Sie die richtige Person an der richtigen Adresse sind.
- 10:33Ihr Endpunkt antwortet, indem er das Validierungstoken zurücksendet,
- 10:35das Graph mitteilt, ja, ich bin hier.
- 10:38Ich höre zu.
- 10:39Send Sie mir die Benachrichtigung.
- 10:41Hier stolpern nun viele Entwickler.
- 10:43Das Validierungstoken muss als nur Text zurückgegeben werden.
- 10:45Ich als JSON nicht als HTML, sondern als nur Text.
- 10:47Und die Antwort muss ein Content-Type-Header aufweisen, der auf Gagslash-Plant ist.
- 10:50Wenn Sie sie in JSON verpackt oder auf andere Weise codiert zurücksenden, schlägt die Validierung fehl.
- 10:55Ihr Abonnement wird nicht erstellt.
- 10:57Microsoft Graph gibt einen Fehler zurück und Sie können sich fragen, was schief gelaufen ist.
- 11:00Es gibt noch ein weiteres technisches Detail, das es zu wissen gibt.
- 11:02Der Validierungsdienst von Microsoft Graph unterstützt TLS 1.3 nicht zuverlässig.
- 11:06Er verhandelt TLS 1.2 aus.
- 11:07Wenn Ihr Endpunkt also nur TLS 1.3-Verbindungen akzeptiert, steckt der Validierungshandshake fehl, bevor Ihr Anwendungscode überhaupt ausgeführt wird.
- 11:14Sie müssen sicherstellen, dass Ihr Endpunkt TLS 1.2 unterstützt, zumindest für den Validierungsschritt.
- 11:19Danach können Sie eine beliebige TLS-Version für die eigentlichen Benachrichtigungen erzwingen.
- 11:23Die gute Nachricht ist, dass dieser Validierungshandshake nur einmal pro Abonnement wird.
- 11:27Ihr Endpunkt muss ihn nicht jedes Mal verarbeiten, wenn eine Benachrichtigung eintrifft, sondern nur beim ersten Mal.
- 11:31Sobald Graph bestätigt hat, dass Ihr Endpunkt echt ist, vertraut es ihm für die gesamte Laufzeit des Abonnements.
- 11:36Sie müssen dies also nur einmal richtig machen.
- 11:39Umgang mit Benachrichtigung und Sicherheit
- 11:40Sobald der Validierungshandshake abgeschlossen ist und Ihr Abonnement live geschaltet wird, beginnt Microsoft Graph mit dem Senden dieser Benachrichtigung.
- 11:46Wie sehen diese in der Praxis aus?
- 11:49Wenn sich etwas ändert, sendet Graph eine HTTP-Postnachricht mit einem JSON-Objekt im Textkörper an ihren Endpunkt.
- 11:54Dieses Objekt enthält die geänderte Ressource, den Typ der Änderung, die erstellt, aktualisiert oder gelöscht wurde und einen Zeitstempel.
- 11:59Und einen Zeitstempel.
- 12:00Es enthält auch den Client-Status-Wert, den Sie beim Erstellen des Abonnements festgelegt haben.
- 12:04Das ist Ihre geheime Zeichenfolge, anhand derer Sie erkennen, ob die Nachricht echt ist.
- 12:07Das Erste, was Sie tun sollten, wenn eine Benachrichtigung eintrifft, überprüfen Sie den Client-Status.
- 12:11Vergleichen Sie den Wert in der Benachrichtigung mit dem Geheimnis, das Sie beim Erstellen des Abonnements gespeichert haben.
- 12:15Wenn Sie nicht übereinstimmen, verwerfen Sie die Benachrichtigung sofort, da es sich um eine Fälschung handeln könnte,
- 12:18bei der jemand versucht, Ihr System zur Verarbeitung ungültiger Daten zu veranlassen.
- 12:21Dies ist wichtig, da sich Ihr Endpunkt im öffentlichen Internet befindet.
- 12:24Jeder, der Ihre URL kennt, könnte eine Postnachricht an Sie senden.
- 12:26Ohne die Überprüfung des Client-Status hätten Sie keine Möglichkeit, zwischen einer echten und einer gefälschten Microsoft-Graph-Benachrichtigung zu unterscheiden.
- 12:33Es handelt sich um eine einfache Überprüfung, die jedoch Ihre erseilt.
- 12:35Sobald Sie bestätigt haben, dass die Benachrichtigung legitim ist, müssen Sie schnell reagieren.
- 12:39Microsoft-Graph erwartet innerhalb von drei Sekunden eine HTTP-Antwort der Stufe 200.
- 12:43Wenn dies länger dauert, wird dies von Graph bemerkt.
- 12:45Und wenn dies zu häufig vorkommt, behandelt Graph sie anders.
- 12:48So funktioniert die Drosselung.
- 12:49Wenn mehr als 10% Ihrer Antworten innerhalb eines Zeitraums von 10 Minuten das Zeitfenster von drei Sekunden überschreiten,
- 12:54kennzeichnet Microsoft-Graph Ihren Endpunkt als langsam.
- 12:57In diesem Fall werden neue Benachrichtigungen um 10 Minuten verzögert.
- 13:00Sie kommen zwar trotzdem irgendwann an, aber die Zustellung in Echtzeit geht verloren.
- 13:03Und wenn es noch schlimmer wird und mehr als 15% Ihrer Antworten 10 Sekunden überschreiten,
- 13:07kennzeichnet Graph Ihren Endpunkt als verworfen.
- 13:09In diesem Zustand werden Benachrichtigungen für 10 Minuten vollständig verworfen.
- 13:12Und jetzt kommt Deckner Punkt.
- 13:13Verworfene Benachrichtigungen können nicht wiederhergestellt werden.
- 13:15Sie sind weg und Sie erhalten sie nie wieder.
- 13:17Stellen Sie sich das wie eine besetzte Telefonleitung vor.
- 13:19Wenn Sie nicht schnell abnehmen, versucht es der Anrufer später einmal.
- 13:21Wenn Sie jedoch nie abnehmen, gibt der Anrufer irgendwann auf.
- 13:24Microsoft Graph ist der Anrufer und Ihr Endpunkt ist das Telefon.
- 13:28Nehmen Sie schnell ab, sonst riskieren Sie, dass die Nachricht verloren wird.
- 13:30Visita sehe die bewährte Methode.
- 13:31Verstehen Sie die Benachrichtigung sofort und verarbeiten Sie sie asynchron.
- 13:34Ihr Endpunkt sollte den Status des Clients überprüfen, die Benachrichtigung akzeptieren
- 13:37und so schnell wie möglich eine 200- oder 200-Wort zurückgeben.
- 13:41Schieben Sie dann die Benachrichtigung zur Hintergrundverarbeitung in eine Warteschlange.
- 13:44Eine Azure-Warteschlange, ein Servicebus oder sogar eine einfache Datenbanktabelle.
- 13:47Es geht darum, den Antwortzyklus schnell zu beenden und Ihrer Hintergrundworker die schwere Arbeit erledigen zu lassen.
- 13:52Noch ein Sicherheitshinweis.
- 13:53Ihr Endpunkt muss ausnahmslos HTTPS sein.
- 13:56Microsoft Graph sendet keine Benachrichtigungen an einen HTTP-Endpunkt.
- 14:00Ihr Endpunkt muss öffentlich zugänglich sein.
- 14:02Wenn er sich hinter der Firewall und dem VPN befindet, kann Graph nicht daran.
- 14:04Für die Entwicklung können Sie Tools wie ein GORG verwenden, um einen öffentlichen Tunnel zu Ihrem lokalen Computer zu erstellen.
- 14:09In der Produktion muss sich Ihr Endpunkt jedoch an einem Ort befinden, an dem Graph ihn finden kann.
- 14:14Benachrichtigungen am Leben erhalten Lebensstunden.
- 14:16Sie haben also Ihr Abonnement eingerichtet, die Benachrichtigungen werden empfangen und alles sieht gut aus.
- 14:20Aber es gibt etwas, das viele Leute überraschen.
- 14:22Ihr Abonnement hat ein Ablaufdatum.
- 14:24Es geht nicht unbegrenzt.
- 14:25Je nachdem, welche Ressource Sie sich ansehen, beträgt die maximale Abonnementdauer in der Regel zwischen drei und sieben Tagen.
- 14:29Bei einigen Ressourcen, B-Lauf-Works-Elementen in SharePoint, können Sie bis zu 30 Tage erhalten.
- 14:34Allerdings ist dies nicht dauerhaft.
- 14:35Sie können kein Abonnement erstellen und es dann vergessen.
- 14:38Stellen Sie es sich wie ein Zeitschriftenabonnement vor.
- 14:40Sie melden sich an, erhalten die ersten Ausgaben und alles ist prima.
- 14:43Wenn Sie Ihr Abonnement jedoch nicht vor Ablauf verlängern, erhalten Sie keine Ausgaben mehr.
- 14:46Dasselbe gilt hier.
- 14:47Wenn Ihr Abonnement abläuft, sendet Microsoft Graph keine Benachrichtigungen mehr.
- 14:50Sie bemerken dies möglicherweise erst, wenn Sie sich wundern, warum nichts passiert.
- 14:53Daher benötigen Sie eine Verlängerungsstrategie.
- 14:55Die Verlängerung erfolgt uns ein.
- 14:56Senden Sie mithilfe der Abonnement-ID eine Patch-Anforderung an den Abonnement-Endpunkt
- 14:59und aktualisieren Sie das Ablaufdatum auf ein neues Datum in der Zukunft.
- 15:02Dadurch wird die Lebensdauer des Abonnements verlängert.
- 15:04Sie können dies beliebig oft tun, solange Sie dies vor Ablauf des aktuellen Ablaufdatums tun.
- 15:09Microsoft Graph unterstützt Sie hier mit sogenannten Lebenszyklusbenachrichtigungen.
- 15:13Wenn Sie ein Abonnement erstellen, können Sie eine separate URL angeben,
- 15:15die als URL für Lebenszyklusbenachrichtigungen bezeichnet wird.
- 15:18Microsoft Graph sendet Benachrichtigungen an die URL, wenn bestimmte Dinge passieren.
- 15:22Beispielsweise, wenn Ihr Abonnement bald abläuft, Ihr Zugriffstoken bald abläuft
- 15:25oder wenn sich die Berechtigungen für Ihre App ändern.
- 15:28Diese Lebenszyklusbenachrichtigungen informieren Sie.
- 15:30Sie müssen nicht raten, wann Ihr Abonnement abläuft.
- 15:32Graph sagt Ihnen, Ihr Abonnement läuft in ein paar Stunden ab.
- 15:35Sie sollten es vielleicht verlängern.
- 15:37Das ist, als würden Sie von Zeitschriften Verlag eine Erinnerung erhalten,
- 15:39dass Ihr Abonnement bald abläuft.
- 15:41Sehr hilfreich, wenn Sie aufmerksam sind.
- 15:43Doch was passiert, wenn trotzdem etwas schief geht?
- 15:45Vielleicht fällt Ihr Endpunkt für eine Weile aus
- 15:46oder Benachrichtigungen werden gelöscht, weil Sie zu langsam waren.
- 15:49Was dann?
- 15:49Hier kommt die Delta-Abfrage ins Spiel.
- 15:51Die Delta-Abfrage ist ein separates Feature von Microsoft Graph,
- 15:54mit dem Sie fragen können,
- 15:55was hat sich seit meiner letzten Überprüfung geändert?
- 15:57Dabei werden nur die Änderungen zurückgegeben, nichts weiter.
- 15:59Und so funktioniert es, wenn Sie es zum ersten Mal an der Delta-Abfrage für eine Rezession.
- 16:02Benutzer gibt Graph alle Benutzer in Ihrem Mandanten zurück.
- 16:05Es wird aber noch etwas Zusätzliches zurückgegeben,
- 16:06ein spezieller Link, der als Delta-Link bezeichnet.
- 16:08Ich speichere diesen Link.
- 16:09Wenn Sie dieselbe Abfrage das nächste Mal ausführen,
- 16:11verwenden Sie diesen Delta-Link.
- 16:12Und anstatt erneut alle Benutzer abzurufen,
- 16:14erhalten Sie nur diejenigen, die sich seit ihrer letzten Abfrage geändert haben.
- 16:16Neue Benutzer, aktualisierte Benutzer, gelöschte Benutzer.
- 16:19Das alles.
- 16:20Stellen Sie sich vor, Sie lesen eine Liste mit Neuigkeiten,
- 16:22anstatt jedes Mal die gesamte Enzyklopädie zu lesen.
- 16:25Viel schneller, viel weniger Daten.
- 16:26Hier ist nun das intelligente Muster.
- 16:27Kombinieren Sie Webhooks mit Delta-Abfragen.
- 16:29Verwenden Sie Webhooks, um zu erfahren, wann sich etwas geändert hat.
- 16:31Und verwenden Sie dann die Delta-Abfrage, um herauszufinden, was genau sich geändert hat.
- 16:34Lassen Sie mich erklären, warum das wichtig ist.
- 16:35Webhooks sind schnell, aber nicht perfekt.
- 16:37Benachrichtigungen können verloren gehen, Abonnements können ablaufen und die Endpunkte kann ausfallen.
- 16:41Die Delta-Abfrage lässt sich durchzufüllen.
- 16:42Sie können sie jederzeit ausführen und erhalten eine vollständige Liste der Änderungen seit Ihrer letzten Überprüfen.
- 16:46Selbst wenn Sie also eine Benachrichtigung verpassen, können Sie sie nachholen.
- 16:49Hier ist der typische Ablauf.
- 16:51Richten Sie ein Webhook-Abonnement für Benutzeränderungen ein.
- 16:53Führen Sie eine erste Delta-Abfrage aus, um den Basisstatus abzurufen und den Delta-Link zu speichern.
- 16:57Wenn ein Webhook eintrifft, der Sie darüber informiert, dass sich ein Benutzer geändert hat,
- 16:59finden Sie eine Delta-Abfrage mit Ihrem gespeicherten Delta-Link.
- 17:02Dadurch erhalten Sie die genaue Änderung.
- 17:03Verarbeiten Sie sie und speichern Sie dann den neuen Delta-Link aus dieser Antwort.
- 17:06Wiederholen Sie den Vorgang, wenn das nächste Mal ein Webhook eingeht.
- 17:08Und wenn Sie jemals eine Benachrichtigung verpassen oder Ihr Abonnement abläuft,
- 17:11führen Sie die Delta-Abfrage einfach erneut aus.
- 17:14Sie erhalten alles, was Sie verpasst haben.
- 17:15Das ist ein Sicherheitsnetz.
- 17:16Webhooks sorgen für Geschwindigkeit und Delta-Abfragen für Zuverlässigkeit.
- 17:19Zusammen ergeben Sie eine leistungsstarke Kombination.
- 17:22Beispiel aus der Praxis und nächste Schritte.
- 17:24Stellen Sie sich vor, morgen tritt ein neuer Mitarbeiter in Ihr Unternehmer.
- 17:26Jemand aus der Personalabteilung erstellt ein Konto mit der Microsoft-Entre-ID
- 17:29und diese einzelne Aktion löst eine Kettenreaktion aus, löst eine Kettenreaktion aus.
- 17:33Wenn Sie ein Webhook-Abonnement für Benutzeränderungen eingerichtet haben,
- 17:36bemerkt Microsoft Graphies sofort und sendet einen Beitrag an Ihren Endpunkt.
- 17:39Folgendes geschieht als nächstes.
- 17:40Ihr Endpunkt empfängt die Benachrichtigung, überprüft den Client-Status
- 17:43und wenn dieser mit Ihrem Geheimnis übereinstimmt, wissen Sie, dass er legitim ist.
- 17:46Sie geben innerhalb von drei Sekunden die Antwort 202 akzeptiert zurück,
- 17:49in der die Benachrichtigung bestätigt wird.
- 17:51Anschließend nimmt Ihr Hintergrund-Worker Sie entgegen.
- 17:53Der Worker sieht, dass ein Benutzer erstellt wurde.
- 17:54Die Benachrichtigung enthält Sie doch nicht alle Details.
- 17:56Daher führt der Mithilfe aus gespeicherten Delta-Links in eine Delta-Auffrage.
- 17:59Dadurch werden die vollständigen Informationen des neuen Benutzers zurückgegeben.
- 18:02Name, E-Mail-Adresse, Abteilung, Stellenbezeichnung, Vorgesetzte, alles, was Sie benötigen.
- 18:05Nun verwendet Ihr Worker diese Informationen
- 18:07und erstellt in Ihrem externen Zeiterfassungssystem ein Konto für den neuen Mitarbeiter.
- 18:10Er sendet eine Willkommens-E-Mail.
- 18:12Er fügt den neuen Mitarbeiter den entsprechenden Verteilerlisten hinzu.
- 18:14All dies geschieht innerhalb von Sekunden,
- 18:15nachdem die Personalabteilung das Konto in Entra-ID erstellt hat.
- 18:18Keine Abfragen, keine manuellen Schritte, keine Verzögerung.
- 18:21Links über die Alternativen.
- 18:22Ohne Webhooks müssten Sie den Endpunkt des Benutzers alle paar Minuten abfragen.
- 18:26Das wären hunderte von Anfragen pro Tag.
- 18:27Und selbst dann kann es mehrere Minuten dauern, bis Sie den neuen Benutzer erreichen.
- 18:30Mit Webhooks geschieht dies sofort.
- 18:32Eine Benachrichtigung an der Delta-Abfrage, fertig.
- 18:34Das ist der wahre Wert.
- 18:35Ihr System wird schneller, effizienter und stößt weniger wahrscheinlich an Drosselungsgrenzen.
- 18:39Anstatt Graph ständig nach Updates zu fragen,
- 18:41lassen Sie sich von Graph benachrichtigen, wenn etwas passiert.
- 18:43Dies ist eine grundlegende Veränderung in der Art und Weise, wie Sie Integration erscheint.
- 18:46Folgendes möchte ich Sie also ausprobieren.
- 18:47Denken Sie an einen Prozess, den Sie derzeit abfragen.
- 18:49Möglicherweise prüfen Sie, ob neue E-Mails in einem freigemten Postfach vorhanden sind.
- 18:52Möglicherweise achten Sie auf Dateiänderungen in einer SharePoint-Bibliothek.
- 18:55Möglicherweise überwachen Sie Benutzer-Updates für Ihr HR-System.
- 18:57Könnte ein Webhook diese Abfragen ersetzen?
- 18:59In den meisten Fällen lautet die Antwort Ja.
- 19:01Und Sie müssen nicht alles neu erstellen.
- 19:02Vielen Dank.