Freigeben über


Featureunterschiede zwischen Azure AD Graph und Microsoft Graph

Dieser Artikel ist Teil von Schritt 1: Überprüfen der API-Unterschiede beim Prozess zum Migrieren von Apps.

Viele Features in Microsoft Graph funktionieren ähnlich wie ihre Azure Active Directory(Azure AD)-Graph-Entsprechungen. Einige haben sich jedoch geändert oder verbessert. In diesem Artikel erfahren Sie, wie Sie Ihre Apps anpassen, um diese Unterschiede zu nutzen.

In diesem Artikel wird erläutert, wie Microsoft Graph folgendes behandelt:

  • Verzeichnisschemaerweiterungen
  • Differenzielle Abfragen
  • Batchverarbeitung

Verzeichnisschemaerweiterungen

Wenn Ihre App Azure AD Graph-Verzeichniserweiterungen verwendet, können Sie weiterhin die gleichen grundlegenden APIs (mit Microsoft Graph-Anforderungs-URLs) verwenden, um:

Microsoft Graph bietet eine erweiterte Entwicklerumgebung für Schemaerweiterungen, die heute nicht abwärtskompatibel mit Azure AD Graph-Verzeichniserweiterungen ist. Weitere Informationen finden Sie unter Auswählen eines Erweiterungstyps für Ihre Anwendung.

Wenn Ihre Azure AD Graph-App Verzeichniserweiterungen verwendet, verwenden Sie einen inkrementellen Ansatz, um die App zu Microsoft Graph zu migrieren.

Stellen Sie zunächst Ihre App auf die Verwendung von Microsoft Graph-API-Aufrufen um, aber lassen Sie die App weiterhin Azure AD Graph-Verzeichniserweiterungen verwenden.

Anschließend können Sie zur Verwendung von Microsoft Graph-Schemaerweiterungen wechseln. In einigen Fällen ist ein Wechsel nicht geeignet. Wechseln Sie nicht, wenn:

  • Ihre App verwendet Verzeichniserweiterungen, die über AD Connect erstellt wurden.
  • Ihre App legt Verzeichniserweiterungswerte fest, die von anderen Apps in Tokenansprüchen verwendet werden.
  • Ihre App legt Werte für Verzeichniserweiterungen fest, die in Dynamischen Mitgliedschaftsregeln verwendet werden.

HINWEIS: Die Verwendung von Microsoft Graph-Schemaerweiterungseigenschaften als Ansprüche in einem Token mit optionalen Ansprüchen oder in einer dynamischen Mitgliedschaftsregel wird noch nicht unterstützt.

Um zum neueren Microsoft Graph-Schemaerweiterungsmodell zu wechseln, müssen Sie Folgendes ausführen:

  • Definieren Sie neue Schemaerweiterungsdefinitionen mithilfe von Microsoft Graph.
  • Aktualisieren Sie die App, um die neuen Schemaerweiterungsdefinitionen zu unterstützen.
  • Migrieren Sie die Daten aus den Eigenschaften der Azure AD Graph-Verzeichniserweiterung zu den Microsoft Graph-Schemaerweiterungseigenschaften. Die automatische Migration von Daten wird nicht unterstützt.

Differenzielle Abfragen

Mit Azure AD Graph und Microsoft Graph können Sie Änderungen mithilfe von Abfragen nachverfolgen. Der allgemeine Ansatz ist zwischen den beiden APIs ähnlich, die Syntax unterscheidet sich jedoch.

Azure AD Graph ruft diese differenziellen Abfragen auf, während Microsoft Graph sie delta-Abfragen nennt.

In der folgenden Tabelle werden die wichtigsten Ähnlichkeiten und Unterschiede hervorgehoben:

Delta-Anforderung Azure AD Graph Microsoft Graph
Anfängliche Datenanforderung Verwendet einen Abfrageparameter:
GET /groups?deltaLink=
Verwendet eine Funktion:
GET /groups/delta
Abrufen neuer Änderungen GET /groups?deltaLink={deltaToken} GET /groups/delta?$deltaToken={deltaToken}
Jetzt synchronisieren Verwendet einen benutzerdefinierten HTTP-Header:
ocp-aad-dq-include-only-delta-token: true
Verwendet einen Abfrageparameter:
GET /groups/delta?$deltaToken=latest
Nachverfolgen von Änderungen für Verzeichnisobjekte Ruft Änderungen für mehrere Ressourcen (Benutzer und Gruppe) im gleichen Vorgang ab:
GET /directoryObject?$filter=isof('User') or isof('Group')&deltaLink=
Verwendet separate Abfragen mit Microsoft Graph, eine für jede Ressource.
Abrufen von Ressourcen- und Beziehungsänderungen Alle Anforderungen geben Ressourcen- und Beziehungsänderungen zurück, wenn die Ressource über Beziehungen verfügt. GET /groups/delta?$expand=members
Antwort, die neue und geänderte Elemente angibt
  • Stellt neu erstellte Instanzen mithilfe ihrer Standarddarstellung dar.

  • Aktualisierte Instanzen werden durch ihre ID mit mindestens den aktualisierten Eigenschaften dargestellt. Andere Eigenschaften können eingeschlossen werden.

  • Beziehungen werden als Typ directoryLinkChange dargestellt.

  • Stellt neu erstellte Instanzen mithilfe ihrer Standarddarstellung dar.

  • Aktualisierte Instanzen werden durch ihre ID mit mindestens den aktualisierten Eigenschaften dargestellt. Andere Eigenschaften können eingeschlossen werden.

  • Beziehungen werden in der Standardressourcendarstellung als Anmerkungen dargestellt. Diese Anmerkungen verwenden das Format propertyName@delta, z. B members@delta . für Mitgliedschaftsänderungen einer Gruppe.

Antwort, die auf gelöschte Elemente hinweist Gibt ein gelöschtes Element an, bei dem eine zusätzliche Eigenschaft von aad.isDeleted auf true festgelegt ist. Gibt ein gelöschtes Element mit der @removed Anmerkung an. Es kann auch einen Ursachencode enthalten, der angibt, ob das Element gelöscht, aber wiederhergestellt werden kann oder endgültig gelöscht wird.

Wenn Ihre App bereits Zustandsdaten speichert, sollten Sie die Funktion "Jetzt synchronisieren" verwenden, um den Übergang zu Deltaabfragen zu verwalten.

Batchverarbeitung

Azure AD Graph hat ein System namens mehrteilige MIME-Nachrichten verwendet, um die Batchverarbeitung zu verwalten. Microsoft Graph verwendet JSON-Batchverarbeitung , um bis zu 20 Anforderungen in einem einzelnen Batchvorgang zuzulassen. Der JSON-Batchverarbeitungsmechanismus ist einfacher zu verwenden, insbesondere zusammen mit JSON-Analysebibliotheken. Es ermöglicht auch die Sequenzierung von Batchvorgängen. Sie ist jedoch nicht abwärtskompatibel mit dem Azure AD Graph-Batchverarbeitungsansatz.

Nächster Schritt