Latest / M365.FM – Microsoft 365, Copilot & KI Podcast auf Deutsch / Microsoft Graph Delta-Abfragen erklärt: Delta-Link, Token-Ablauf, Fehler 410 und Hybrid mit Change Notifications (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 M3 der 65-Konten zurück und wird noch größer.
- 0:11Und wird noch größer.
- 0:12Seien 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:22Wir stellen uns den echten Herausforderungen, Co-Pilot Studio, KI Agents, Fabric, Sicherheit, Governance und Automatisierung.
- 0:28Ganz 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.
- 0:49Die Registrierung ist ab sofort möglich.
- 0:52Gehen Sie noch heute zu Ihrem Standort.
- 0:54Das ist m360con.net
- 0:58Melden Sie sich jetzt unter m360con.net an und wir sehen uns im Januar live.
- 1:05Lassen Sie mich ein Bild mal.
- 1:06Sie haben eine Kalender-App auf Ihrem Smartphone, die Ihre Besprechungen für den Tag anzeigt.
- 1:09Aber Sie haben auch Besprechungen auf Ihrem Laptop und manchmal ändert jemand eine Besprechungszeit, während Sie nicht an Ihrem Schreibtisch sind.
- 1:14Wenn Sie die App auf Ihrem Smartphone öffnen, erwarten Sie, dass diese Änderung sofort angezeigt wird, nicht erst morgen.
- 1:19Wir gehen die meisten Apps damit um.
- 1:20Sie laden alle paar Minuten jedes einzelne Ereignis herunter, unabhängig davon, ob sich etwas geändert hat oder nicht.
- 1:24Denken Sie mal kurz darüber nach.
- 1:25Wenn Sie 1000 Kalenderereignisse haben und sich nur eines davon ändert, ruft die App trotzdem alle 1000 ab.
- 1:30Das ist, als würden Sie in den Supermarkt gehen und alles kaufen, was es dort gibt, nur weil Sie Milch brauchen.
- 1:34Beschwenderisch, oder?
- 1:35So wurde es früher gemacht.
- 1:36Und es wird noch schlimmer.
- 1:37Bei einer langsamen Verbindung dauert der vollständige Download lange.
- 1:40Sie sitzen da und starren auf ein Drehfeld.
- 1:41Die App fühlt sich träge an.
- 1:42Ihr Akku entlädt sich schneller.
- 1:44Und der Server muss all diese Anforderungen verarbeiten, selbst wenn sich nichts geändert hat.
- 1:47Stellen Sie sich nun vor, Sie erstellen eine App, die Benutzer von Microsoft Entra-ID oder E-Mails von Exchange oder Dateien von SharePoint synchronisiert.
- 1:54Das Problem vervielfacht sich.
- 1:55Sie verschieben Gigabytes an Daten ohne triftigen Grund.
- 1:57Delta-Abfragen lösen genau dieses Problem.
- 1:59Anstatt nach allem zu fragen, fragen Sie nur nach den Änderungen seit Ihrer letzten Überprüfung.
- 2:03Wissen wir nicht einfach nur die neuen Dinge abrufen.
- 2:05Wenn Sie jemals darauf gewartet haben, dass eine Synchronisierung aufgrund einer langsamen Verbindung abgeschlossen wird
- 2:14oder eine App erstellt haben, die alle paar Minuten eine API abruft und sich gefragt haben, ob es an welcher Möglichkeit gibt, ist diese Lösung möglich.
- 2:17Ich sage, wie sicherlich gibt es diese Lösung, genau das Richtige für Sie.
- 2:19Es wird einen einfachen Mechanismus zur Änderungsnachverfolgung geben.
- 2:21Keine Zauberei.
- 2:23Sondern nur clevere Token-Mathematik, mit der Sie Microsoft Graph fragen können,
- 2:27was ist seit meiner letzten Abfrage neu?
- 2:29Was ist eine Delta-Abfrage?
- 2:31Was genau ist eine Delta-Abfrage?
- 2:32Hier ist die einfachste Definition.
- 2:34Eine Delta-Abfrage fragt Microsoft Graph nur nach den Änderungen seit ihrer letzten Überprüfung ab.
- 2:38Nicht nach allem, sondern nur nach neuen, aktualisierten oder gelöschten Elementen.
- 2:41Denken Sie an E-Mail-Posteingang.
- 2:43Wenn Sie ihn morgens öffnen, lesen Sie nicht jede E-Mail erneut.
- 2:46Sie schauen sich nur die neuen an, die seit ihrer letzten Überprüfung eingegangen sind.
- 2:49Genau das macht eine Delta-Abfrage allerdings für Ihre Microsoft 365 Daten.
- 2:53Vergleichen Sie das nur mit einer vollständigen Synchronisierung.
- 2:55Eine vollständige Synchronisierung ist so, als würden Sie jedes Mal, wenn Sie Ihre E-Mails abrufen,
- 2:58eine vollständige Sicherung Ihres Gesamtposteingangs erstellen.
- 2:59Sie hätten tausende Kopien derselben Nachrichten.
- 3:02Das verschwendere schon langsam.
- 3:03Eine Delta-Abfrage ähnelt eher einem Änderungsprotokoll mit dem Hinweis, dass es seit dem letzten Mal passiert.
- 3:07Wenn nicht.
- 3:08Dies funktioniert für viele Microsoft Graph-Ressourcen, Benutzer, Gruppen, E-Mails, Kalenderereignisse, Kontakte und Dateien.
- 3:14Wenn sich etwas in Microsoft Dark 65 befindet, gibt es wahrscheinlich einen Delta-Endpunkt dafür.
- 3:18Wenn Sie einen Delta-Endpunkt zum ersten Mal aufrufen, werden alle Daten zurückgegeben.
- 3:20Das ist Ihre Basis.
- 3:21Sie erhalten alle Daten sowie einen speziellen Link, einen sogenannten Delta-Link.
- 3:24Sie speichern diesen Link.
- 3:25Bei nachfolgenden Aufrufen verwenden Sie dann diesen gespeicherten Link
- 3:28und Microsoft Graph gibt nur die Änderungen, Hinzufügungen, Aktualisierungen, Andlöschungen und so.
- 3:31Das ist alles.
- 3:32Warum ist das wichtig?
- 3:33Weniger verschobene Daten, schnellere Synchronisierung.
- 3:35Schnellere Synchronisierung bedeuten eine bessere Benutzerfahrung.
- 3:37Ihre App arbeitet flott statt träge.
- 3:40Und da Sie weniger Daten verschieben, verbrauchen Sie auf beiden Seiten weniger Bandbreite und weniger Rechenleistung.
- 3:44Geringere Kosten, bessere Leistung.
- 3:46Microsoft hat Delta-Abfragen für Apps entwickelt, die aktuell bleiben müssen, ohne die API zu belasten.
- 3:50Wenn Sie schon einmal eine Ratenbegrenzung erreicht haben, weil Sie zu aggressiv abgefragt haben,
- 3:54wissen Sie, warum das wichtig ist.
- 3:55Mit Delta-Abfragen können Sie effizient synchronisieren, ohne dass die Daten gedrosselt werden.
- 3:58So funktioniert das Token-System.
- 4:00Wie merkt sich das System, wo Sie aufgehört haben?
- 4:03Wir kommen Token ins Spiel.
- 4:03Wenn Sie die erste Delta-Abfrage durchführen, sendet Ihnen Microsoft Graph nicht einfach nur die Daten und vergisst sie dann.
- 4:09Es sendet Ihnen einen sogenannten Delta-Link.
- 4:11Stellen Sie sich das wie ein Lesezeichen vor.
- 4:12Ein Lesezeichen des Graph genau mitteilt, an welcher Stelle Sie aufgehört haben zu lesen.
- 4:15Und so funktioniert es.
- 4:16Sie führen Ihre erste Anforderung durch und Graph sendet alle Daten zurück.
- 4:20Ihre vollständigen Benutzer, Ereignisse oder was auch immer Sie nachverfolgen.
- 4:23Am Ende dieser Antwort befindet sich eine URL mit einem sogenannten Delta-Token.
- 4:27Sie speichern diese URL und bewahren sie an einem sicheren Ort auf.
- 4:29Beim nächsten Synchronisieren stellst du keine neue Anfrage.
- 4:32Seitdessen rufst du die gespeicherte URL auf.
- 4:34Graph sagt, ach, ich erinnere mich an dich.
- 4:35Du hast hier aufgehört.
- 4:37Dann sendet es nur die Änderungen seit diesem Zeitpunkt zurück.
- 4:40Ein neuer Benutzer wurde hinzugefügt, ein Ereignis wurde gelöscht, die Telefonnummer eines Kontakts wurde aktualisiert.
- 4:44Es ist alles, was du willst.
- 4:45Du hast einen neuen Delta-Link für das nächste Mal.
- 4:47Was aber, wenn es viele Änderungen gibt?
- 4:48Angenommen, du hast seit drei Tagen nicht synchronisiert und hunderte von Dingen haben sie gämt.
- 4:51Graph sendet sie möglicherweise nicht anderen an.
- 4:53Es sendet eine Seite mit Änderungen und unten auf dieser Seite siehst du einen sogenannten Next-Link.
- 4:57Das bedeutet, dass du weitermachst, es gibt noch mehr.
- 4:59Du rufst diesen Next-Link auf, rufst die nächste Seite auf und wiederholst den Vorgang, bis du schließlich einen Delta-Link siehst.
- 5:04So weißt du, dass du auf dem Laufenden bist.
- 5:05Der Next-Link bedeutet, dass du vorstätig bist.
- 5:07Der Delta-Link bedeutet, dass du vorstätig bist.
- 5:09Hier ist eine Möglichkeit, wie du das vorstellen kannst.
- 5:10Stellen Sie sich vor, Sie gehen einkaufen, kaufen einen Einkaufswagen voller Sachen und die Kassiererin gibt Ihnen eine Quittung.
- 5:15Diese Quittung ist der Nachweis für den Kauf.
- 5:17Wenn Sie das nächste Mal einkaufen, bringen Sie nicht den ganzen Laden mit.
- 5:19Sie bringen nur diese Quittung mit.
- 5:21Die Kassiererin zieht sie sich an und sagt, richtig, Sie haben bereits Milch und Eier.
- 5:27Das ist der Delta-Link. Sie müssen sich nicht merken, was Sie bereits haben.
- 5:30Die Quittung merkt sich das für Sie und das ist der springende Punkt.
- 5:32Sie müssen keine Zeitstempel oder Versionsnummern selbst speichern.
- 5:35Sie müssen nicht herausfinden, was sich geändert hat und was nicht.
- 5:37Microsoft kümmert sich um die gesamte Nachverfolgung.
- 5:39Sie speichern einfach den Link, rufen ihn später auf und überlassen Graph die Harte ab.
- 5:42Die Einschränkungen, die Sie nicht ignorieren können.
- 5:44Klingt elegant, oder? Aber wie bei jedem cleveren System gibt es auch hier Haken, die Sie kennen müssen.
- 5:48Zunächst einmal das Ablaufdatum des Token.
- 5:50Wenn Sie Verzeichnisobjekte, Benutzergruppen oder Geräte synchronisieren, ist der Delta-Token nur sieben Tage lang gültig.
- 5:55Ist alles.
- 5:55Wenn Ihre App nicht mindestens alle sieben Tage synchronisiert wird, läuft dieses Token ab.
- 5:59Und wenn es abläuft, können Sie nicht einfach dort weitermachen, wo Sie aufgehört haben.
- 6:02Sie müssen mit einer vollständigen Synchronisierung von vorne fahren.
- 6:04Das ist ein größeres Problem, was es sich anhört.
- 6:06Stellen Sie sich vor, Sie erstellen eine App, die Benutzerprofile synchronisiert.
- 6:08Sie läuft monatelang einwandfrei.
- 6:09Dann nimmt sich jemand ein zwei Wöchigen Urlaub.
- 6:11Wenn er zurückkommt, ist das Token der App tot.
- 6:13Die App muss alles von Grund auf neu herunterladen.
- 6:15Das sind viele Daten und viel Zeitaufwand.
- 6:17Zweitens gibt es den gefürchteten 410-Fehler.
- 6:19Selbst wenn Ihr Token nicht auf natürliche Weise abgelaufen ist, kann Microsoft Graph es ungültig machen.
- 6:22Dies geschieht während interner Wartungsarbeiten, Mandantenmigrationen oder anderen Änderungen im Hintergrund, die Sie nicht kontrollieren können.
- 6:28In diesem Fall gibt Graph den HTTP 410-Status zurück.
- 6:31Auf diese Weise sagt Microsoft, ich kann mich nicht an dieses Token erinnern.
- 6:34Fangen Sie noch mal an.
- 6:35Und wieder benötigen Sie eine vollständige Neuseigung.
- 6:37Drittens Verarbeitungsverzögerung.
- 6:39Hier ist etwas, das viele Leute überraschen.
- 6:41Wenn jemand einen Benutzer in der Microsoft Entra-ID aktualisiert, wird diese Änderung nicht sofort in Delta-Abfragen angezeigt.
- 6:46Es gibt eine Verzögerung.
- 6:47Manchmal Sekunden, manchmal Minuten.
- 6:48Die Änderung muss über die internen Systeme von Microsoft propagiert werden, bevor sie im Delta-Feed angezeigt wird.
- 6:53Wenn Sie also eine App entwickeln, die Echtzeitaktualisierung benötigt, reicht die Delta-Abfrage allein nicht aus.
- 6:57Sie werden denken, dass sich nichts geändert hat, während in Wirklichkeit etwas nicht angezeigt wird.
- 7:00Viertens nicht nachverfolgte Eigenschaften.
- 7:02Nicht jede Eigenschaft einer Ressource wird von Delta-Abfragen nachverfolgen.
- 7:05Nehmen Sie die Eigenschaftsskills eines Benutzerobjekts.
- 7:07Diese Daten befinden sich in SharePoint, nicht im Hauptverzeichensspeicher.
- 7:10Wenn also jemand die Fähigkeiten eines Benutzers aktualisiert, löst diese Änderung keine Delta-Antwort aus.
- 7:14Ihre App sieht sie nie.
- 7:15Sie müssen diese Eigenschaft vollständig lesen, um die Aktualisierung zu erfassen.
- 7:18Das überrascht Entwickler immer wieder.
- 7:20Fünftens Wiedergaben.
- 7:22Microsoft Graph versucht nach besten Kräften Duplikate zu vermeiden, garantiert dies jedoch nicht.
- 7:26Die selbe Änderung kann in zwei aufeinanderfolgenden Delta-Antworten auftreten.
- 7:29Das bedeutet, dass Ihre App idempotent sein muss.
- 7:31Sie muss dieselbe Aktualisierung zweimal verarbeiten können, ohne dass sie abstürzen.
- 7:34Wenn Sie Datensätze in eine Datenbank einfügen, müssen Sie vor dem Hinzufügen überprüfen, ob der Datensatz bereits war.
- 7:38Wenn Sie ein Feld aktualisieren, müssen Sie sicherstellen, dass Ihre Daten durch zweimaliges Anwenden derselben Aktualisierung nicht beschädigt werden.
- 7:43Und sechstens Einschränkungen bei Abfrageparametern.
- 7:45An Benutzerngruppen Delta-Endpunkten können Sie Expand oder Auto-By-Ride nicht verwenden.
- 7:49Sie möchten die Eigenschaft Manager in Ihre Benutzersynchronisierung einbeziehen.
- 7:52Sie können dies tun jedoch nur, wenn Sie Select auf eine bestimmte Weise verwenden.
- 7:55Sie möchten Benutzer nach Namen sortieren?
- 7:56Dies ist am Delta-Endpunkt nicht möglich.
- 7:58Sie müssen diese Einschränkungen mit zusätzlichen Anforderungen umgehen.
- 8:00Hier ist die Zusammenfassung.
- 8:01Die Delta-Abfrage ist leistungsstark, spart Bandbreite, reduziert die Latenz und sorgt dafür, dass sich Ihre App schnell anfühlt.
- 8:06Es ist jedoch kein perfektes System.
- 8:07Token laufen ab, Änderungen werden verzögert, einige Eigenschaften sind unsichtbar, Duplikate treten auf.
- 8:12Sie können nicht alle Abfragefunktionen verwenden, die Sie gewohnt sind.
- 8:14Sie müssen diese Sonderfälle einplanen, eine Wiederholungslogik integrieren, den Fehler 410 verarbeiten, mit Wiederholungen rechnen
- 8:20und vor allem nicht davon ausgehen, dass die Delta-Query Ihnen das vollständige Bild anzeigt, denn manchmal ist dies nicht der Fall.
- 8:25Delta-Query im Vergleich zur Änderungsbenachrichtigung.
- 8:27Wenn Delta-Query diese Lücken aufweist, Tokenablauf, Verarbeitungsverzögerung, nicht nachverfolgte Eigenschaften,
- 8:31warum verwenden Sie dann nicht einfach Push-Benachrichtigungen?
- 8:34Vergleichen wir, wie sie funktionieren.
- 8:35Änderungsbenachrichtigungen sind Push-basiert.
- 8:37Microsoft ruft Ihren Endpunkt an, wenn sich etwas ändert.
- 8:40Wir sprechen hier von Sekunden, nicht von Minuten.
- 8:41Nahezu Echtzeit.
- 8:43Wenn jemand einen Benutzer in EntraID aktualisiert, weiß Ihre App dies fast sofort.
- 8:47Keine Abfrage vorderlich.
- 8:48Delta-Query hingegen ist pull-basiert.
- 8:51Sie fragen nach Ihrem Zeitplan nach Änderung.
- 8:52Vielleicht jede Stunde, vielleicht alle sechs Stunden, vielleicht einmal am Tag.
- 8:55Die Latenz wird in Minuten oder Stunden gemessen, nicht in Sekunden.
- 8:58Sie entscheiden, wann Sie die Überprüfung durchführen möchten und Sie erhalten eine letzte Überprüfung.
- 9:01Was sind also die Vorteile von Push?
- 9:02Die geringe Latenz hat größte Vorteil.
- 9:04Wenn Sie eine App entwickeln, die schnell reagieren muss, zum
- 9:06B, um eine dringende E-Mail-Benachrichtigung zu senden, wenn ein wichtiges Dokument geändert wird, sind
- 9:10Änderungsbenachrichtigungen genau das Richtige für Sie.
- 9:12Sie werden sofort benachrichtigt, wenn es geändert wird.
- 9:14Push hat jedoch auch Nachteile.
- 9:15Erstens benötigen Sie einen öffentlich zugänglichen HTTPS-Endpunkt.
- 9:18Das bedeutet, dass Ihre App über das Internet erreichbar sein muss.
- 9:21Für Apps, die in einem Unternehmensnetzwerk ausgeführt werden, stellt dies ein Sicherheitsrisiko dar.
- 9:25Sie müssen Ports öffnen, Zertifikate verwalten und eingehenden Datenverkehr verarbeiten.
- 9:28Zweitens müssen Sie die Validierung durchführen.
- 9:30Wenn Sie ein Abonnement erstellen, sendet Microsoft Graph ein Validierungstoken an Ihren Endpunkt.
- 9:35Ihr Endpunkt muss dieses Token innerhalb von zehn Sekunden im Klartext zurückgeben.
- 9:38Andernfalls schlägt das Abonnement für.
- 9:39Drittens laufen Abonnements ab.
- 9:41Sie müssen sie erneuern, bevor sie ablaufen, da Sie sonst keine Benachrichtigungen mehr erhalten.
- 9:45Und viertens gibt es Wiederholungsversuche.
- 9:47Wenn Ihr Endpunkt nicht innerhalb von drei Sekunden antwortet, versucht es Microsoft Graph mit exponentieller Verzögerung von bis zu vier Stunden.
- 9:52Wenn Ihr Endpunkt langsam ist, können Benachrichtigungen vollständig verloren gehen.
- 9:55Auf der Poolseite liegen die Vorteile von Delta-Abfragen in der einfacheren Infrastruktur.
- 9:59Es wird kein öffentlicher Endpunkt benötigt und es muss kein eingehender Datenverkehr verweilen.
- 10:02Sie stellen einfach ausgehende Anforderungen von Ihrer App aus.
- 10:04Das ist alles.
- 10:05Sie haben auch mehr Kontrolle darüber, wann etwas passiert.
- 10:07Sie können die Abfragen für Zeiten mit geringer Auslastung planen, Sie in Stapeln verarbeiten und Änderungen in Ihrem eigenen Tempo verarbeiten.
- 10:13Pull hat aber auch Nachteile.
- 10:14Natürlich ist die Latenz höher.
- 10:15Sie erfahren erst von Änderungen, wenn Sie die Abfrage durchführen.
- 10:17Wenn Sie stündlich einen Pull durchführen, können Sie bis zu einer Stunde im Rückstand sein.
- 10:20Ein weiteres Risiko ist der Ablaufstoke.
- 10:22Wenn Sie nicht oft genug synchronisieren, ist Ihr Token ungültig und Sie müssen von vorne beginnen.
- 10:25Außerdem entsteht der vergottete Aufwand für Abfragen, selbst wenn sich nichts geändert hat.
- 10:28Sie stellen die Anforderungen, erhalten eine leere Antwort und müssen den Vorgang im nächsten Zyklus wiederholen.
- 10:32Für welche Methode zu entscheiden? Das hängt davon ab.
- 10:34Wenn Sie eine niedrige Latenz benötigen.
- 10:36B für dringende E-Mail-Benachrichtigungen oder die Zusammenarbeit in Echtzeit, verwenden Sie Änderungsbenachrichtigungen.
- 10:40Wenn Sie eine Massensynchronisierung durchführen, eine lokale Datenbank verwalten oder eine App erstellen, die offline funktioniert, verwenden Sie Delta Query.
- 10:46Beides hat seinen Platz.
- 10:47Der hybride Ansatz. Das Beste aus beiden Welten.
- 10:50Eigentlich müssen Sie sich nicht für das eine oder das andere entscheiden.
- 10:52Am besten ist es, beides zusammen zu verwenden.
- 10:54Hier ist das Muster. Sie richten Änderungsbenachrichtigungen ein, um sie zu benachrichtigen, wenn sich etwas gähnt.
- 10:58Dadurch erhalten Sie Informationen nahezu in Echtzeit.
- 11:00Sie wissen, dass etwas passiert ist, wissen aber nicht unbedingt genau, was sich geändert hat.
- 11:04Oder Sie möchten nicht die gesamte Nutzlast in jeder Benachrichtigung verarbeiten.
- 11:07Stattdessen verwenden Sie diese Benachrichtigung als Trigger.
- 11:10Wenn Sie eine Push-Benachrichtigung erhalten, die besagt, dass sich etwas geändert hat, rufen Sie Delta Query auf, um genau die Änderung abzurufen.
- 11:15Überlegen Sie, was Ihnen das bringt.
- 11:16Sie rufen nur dann Daten ab, wenn es tatsächlich eine Änderung gibt. Keine unnötigen Abfragen.
- 11:19Sie profitieren von der Zuverlässigkeit von Delta-Ton.
- 11:21Sie können Änderungen im Zeitverlauf nachverfolgen, die Paginierung verarbeiten und Fehler beheben.
- 11:25Und Sie vermeiden die Komplexität, die mit der Verarbeitung vollständiger Änderungsnutzlasten in jeder Benachrichtigung verbunden ist.
- 11:30Die Benachrichtigung sagt einfach, hey, schau mal hier rüber.
- 11:33Die Delta-Abfrage übernimmt die schwere Arbeit.
- 11:35Hier ist ein reales Szenario.
- 11:36Stellen Sie sich eine App vor, die Benutzerprofile von Microsoft Entra ID synchronisiert.
- 11:39Sie abonnieren Änderungsbenachrichtigungen für die Benutzerressourcen.
- 11:42Wenn jemand seine Berufsbezeichnung aktualisiert, sendet Microsoft Graph eine Benachrichtigung an Ihren Endpunkt.
- 11:47Ihre App empfängt diese Benachrichtigung und sagt, okay, bei diesem Nutzer hat sich etwas geändert.
- 11:51Anschließend ruft Sie den Endpunkt der Delta-Abfrage mit Ihrem gespeicherten Token auf.
- 11:54Die Delta-Abfrage gibt die aktualisierten Nutzer Details zurück.
- 11:57Ihre App verarbeitet die Änderungen und aktualisiert Ihre lokale Daten.
- 12:00Dieses Muster wird von Microsoft Graph nativ unterstützt.
- 12:03Sie erstellen ein Abonnement für Änderungsbenachrichtigungen und pflegen einen Delta-Link für dieselbe Ressource.
- 12:07Wenn eine Benachrichtigung eintrifft, lösen Sie einen Delta-Abfragezyklus aus.
- 12:11Dies ist der empfohlene Ansatz für Produktions-Apps.
- 12:13In der Dokumentation von Microsoft selbst wird dies als Möglichkeit bezeichnet, häufige Abfragen nahezu zu eliminieren.
- 12:17Hier ist eine einfache Möglichkeit, sich das vorzustellen, es wird geklingelt.
- 12:20Das sagt Ihnen, dass jemand vor der Tür steht.
- 12:21Sie müssen nicht draußen stehen und auf Besucher achten.
- 12:23Die Türklingel sagt Ihnen doch nicht, wer es ist.
- 12:25Sie überprüfen also die Kamera.
- 12:27Das ist ein Pull.
- 12:27Sie schauen sich den Feed an, um zu sehen, wer da ist.
- 12:29Türklingel plus Kamera.
- 12:30Push plus Pull.
- 12:31Effizient und Reaktionsschneidung.
- 12:33Das ist das hybride Must.
- 12:34Für die meisten realen Anwendungen ist dies der Goldstandard.
- 12:37Sie erhalten die Unmittelbarkeit von Push-Benachrichtigungen mit der Gründlichkeit von Delta-Query
- 12:40und vermeiden die Schwächen jedes Ansatzes, wenn er einzeln verwendet wird.
- 12:44Praktische Regeln für die Entwicklung mit Delta-Query.
- 12:46Hallo zusammen und herzlich willkommen zu einer weiteren Folge von Microsoft Knowledge Nuggets
- 12:49auf M35-HCFM.
- 12:51Ich bin der Moderator Mekopetas.
- 12:52Heute sprechen wir über die Entwicklung mit Delta-Query in der Produktion.
- 12:55Es läuft auf ein paar strenge Regeln hinaus.
- 12:57Solche, die verhindern, dass Ihre Synchronisierung sonntags um zwei morgens still und leise abrühren.
- 13:00Verfolgen Sie diese sechs Regeln und Ihre Implementierung wird solide sein.
- 13:03Vergessen Sie eine und Sie bekommen Probleme.
- 13:05Regel Nummer eins speichern Sie Ihren Delta-Link in einem Sichereren.
- 13:07Nicht in einer Textdatei auf Ihrem Desktop.
- 13:09Nicht fest in Ihrem Code kodiert.
- 13:10Verwenden Sie eine geeignete Datenbank oder einen Schlüsselspot.
- 13:12Stellen Sie sich diesen Link als einen Schlüssel zu Ihrem Gebäude.
- 13:14Wenn Sie ihn verlieren, sind Sie ausgesperrt.
- 13:16Sie müssen bei einer vollständigen Synchronisierung wieder bei Null anfangen.
- 13:18Möglicherweise müssen Sie Gigabytes an Daten erneut abrufen.
- 13:21Regel zwei führen Sie die Synchronisierungsschleife mindestens alle sechs Tage.
- 13:23Verzeichnis-Token laufen nach sieben Tagen.
- 13:25Wenn Sie die Synchronisierung auf die Minute genau nach sieben Tagen planen,
- 13:28haben Sie keinen Spielraum für Fehler.
- 13:29Ein Netzwerkausfall, ein Feiertagswochenende, ein Server-Neustart und schon ist Ihr Token tot.
- 13:33Sechs Tage geben Ihnen den ganzen Tag Puffer.
- 13:35Regel drei rechnen Sie mit dem Fehler, wenn Sie mit auftreten.
- 13:38Microsoft Graph erklärt Ihr Token während der Wartung oder einer Mandantenmigration für ungültig.
- 13:41Wenn dies geschieht, muss Ihr Code dies abfangen.
- 13:43Eine vollständige erneute Synchronisierung auslösen und einen neuen Link abrufen.
- 13:46Behandeln Sie dies nicht als Fehler, sondern als normalen Teil des Lebenszyklus.
- 13:49Regel vier. Entwerfen Sie Ihre Absurd, dass Sie Duplikate verarbeiten.
- 13:52Wiedergaben sind real.
- 13:53Dieselbe Änderung kann in zwei aufeinanderfolgenden Antworten auftreten.
- 13:56Wenn Sie Datensätze einfügen, überprüfen Sie zuerst, ob sie vorhanden sind.
- 13:59Wenn Sie Felder aktualisieren, stellen Sie sicher, dass die Aktualisierung gefahrlos wiederholt wird.
- 14:03Regel fünf.
- 14:05Fangen Sie klein an.
- 14:06Beweisen Sie Ihren Code nicht gleich beim ersten Versuch auf einen Mandanten mit 10.000 Nutzern.
- 14:09Verwenden Sie Graph Explorer. Wählen Sie einen kurzen Zeitraum aus.
- 14:12Überprüfen Sie, ob Ihre Delta-Verknüpfung funktioniert.
- 14:13Nehmen Sie eine Änderung vor. Prüfen Sie, ob sie angezeigt wird.
- 14:16Machen Sie sich mit dem Ablauf vertraut, bevor Sie hochskalieren.
- 14:18Regel sechs. Achten Sie auf Ihre Datendemits.
- 14:20Microsoft Graph trosselt Sie, wenn Sie zu schnell aufrufen.
- 14:22Stellen Sie sich das wie eine Autobahn vor.
- 14:24Zu viel Geschwindigkeit und Sie werden blockiert.
- 14:26Delta-Abfragen helfen, Ihr Aufrufvolumen zu reduzieren, aber Sie müssen die Demits trotzdem einhalten.
- 14:30Verteilen Sie Anfallungen am Stück.
- 14:32Verwenden Sie exponentielles Backoff, wenn Sie einen 429-Fehler sehen.
- 14:34Ihre Synchronisierungsgeschwindigkeit spielt keine Rolle beim Blöken.
- 14:36Ein konkretes Beispiel, die Synchronisierung von Kalenderereignissen.
- 14:41Wie funktioniert das nun konkret?
- 14:42Nehmen wir an, Sie erstellen eine App, die Kalenderereignisse synchronisiert.
- 14:45Hier ist der Ablauf von Anfang bis Ende.
- 14:47Schritt 1, Sie senden Ihre erste Anforderung an den Delta-Endpunkt der Kalenderansicht,
- 14:51etwa Bereitstellung einer Kalenderansicht mit einer Start- und Endzeit.
- 14:55Dies ist Ihre Basislinie.
- 14:56Microsoft Graph gibt alle Ereignisse in diesem Bereich zu holen.
- 14:58Es können hunderte Ereignisse sein, vielleicht auch tausend.
- 15:01Am Ende dieser Antwort erhalten Sie einen Delta-Link.
- 15:03Sie speichern ihn.
- 15:03Schritt 2, beim nächsten Synchronisierungszyklus, eine Stunde oder einen Tag später,
- 15:07rufen Sie diesen gespeicherten Delta-Link auf.
- 15:09Diesmal gibt Graph nicht alles zurück, sondern nur die Änderungen.
- 15:11Stellen Sie sich das für den Bibliothek auf.
- 15:13Sie fragen nach den Büchern, die sich seit Ihrem letzten Besuch geändert haben.
- 15:15Das ist viel schneller, als die gesamte Bibliothek erneut zu lesen.
- 15:18Ein neues Meeting, ein bestehendes, das auf einen anderen Zeitpunkt verschoben wurde.
- 15:21Und wenn etwas gelöscht wurde, wird es mit der Eigenschaft Add Removed angezeigt,
- 15:24sodass Sie wissen, dass Sie es aus Ihrem lokalen Store entfernen müssen.
- 15:26Schritt 3, wenn es viele Änderungen gibt, erhalten Sie möglicherweise einen Next-Link anstelle eines Delta-Links.
- 15:31Das bedeutet, dass mehr Änderungen verarbeitet werden müssen.
- 15:33Schauen Sie den Next-Link auf, rufen den nächsten Badge ab und fahren fort, bis Sie schließlich einen Delta-Link sehen.
- 15:37So wissen Sie, dass Sie auf dem Laufenden sind.
- 15:38Überlegen Sie, was Sie dadurch im Laufe der Zeit sparen.
- 15:40Mein Denkmal darüber nach?