Freigeben über


Verwenden von Microsoft Graph zum Erweitern von Microsoft Search mit benutzerdefinierten Daten

In diesem Artikel wird ein gängiges Microsoft Graph-Integrationsmuster für ein Geschäftsszenario beschrieben, das das Hinzufügen benutzerdefinierter Unternehmensdaten zu Microsoft Search und Microsoft 365 Copilot erfordert. Die benutzerdefinierten Daten werden in unstrukturiertem Microsoft 365-Speicher erfasst und verschiedenen Suchindizes hinzugefügt.

Für dieses nicht interaktive Szenario gelten die folgenden Anforderungen:

  • Ein Datenintegrationstyp, da er nur benutzerdefinierte Daten bereitstellt und keine Microsoft 365-Funktionalität in Kunden-Apps verwendet.
  • Ein eingehender Datenfluss zwischen der App und Microsoft 365.
  • Ein hohes Datenvolumen für die Indizierung.
  • Datenbatchesverarbeitung und -planung für Upload und Erfassung, was zu einer erhöhten Datenlatenz führt.

Die beste Option für dieses Szenario ist die Verwendung von Microsoft Graph-Connectors. Das folgende Diagramm zeigt die Architektur für diese Lösung.

Ein Diagramm, das eine Drittanbieter-App zeigt, die sich bei Microsoft Entra ID authentifiziert, eine Verbindung mit Microsoft Graph herstellt und Inhalte in die semantische Suche exportiert.

Lösungskomponenten

Die Architektur für diese Lösung umfasst die folgenden Komponenten:

  • Azure App Service, mit dem Sie Web-Apps, geplante Aufträge und RESTful-APIs in Ihrer bevorzugten Programmiersprache erstellen und hosten können, ohne die Infrastruktur verwalten zu müssen. Es bietet automatische Skalierung und Hochverfügbarkeit, unterstützt sowohl Windows als auch Linux und ermöglicht automatisierte Bereitstellungen von GitHub, Azure DevOps oder einem beliebigen Git-Repository.
  • Microsoft Entra ID, die zum Verwalten der Authentifizierung für Microsoft Graph erforderlich ist und delegierte und Anwendungsberechtigungen unterstützt, um den OAuth-Fluss zu aktivieren.
  • Restful-APIs von Microsoft Graph, einschließlich Connectors, auf die über einen einzelnen Endpunkt zugegriffen wird: https://graph.microsoft.com.
  • Eine benutzerdefinierte App, die benutzerdefinierte Logik implementiert.

Überlegungen

Die folgenden Überlegungen unterstützen die Verwendung dieses Integrationsmusters:

  • Verfügbarkeit: Die Client-App sendet in regelmäßigen Abständen Daten über Microsoft Graph-APIs. Die nicht interaktive Client-App sendet Anforderungen und lädt die Daten mit einer Häufigkeit hoch, die von der Clientumgebung gesteuert wird und durch die Drosselung von Microsoft Graph-Connectors eingeschränkt wird.

  • Latenz: Die Client-App verwendet die synchronen Microsoft Graph-Connectors-APIs und erwartet eine Antwort, aber abhängig von den Netzwerkbedingungen und der Auslastung des Microsoft Graph-Diensts kann eine gewisse Latenz auftreten.

  • Skalierbarkeit: Die Client-App ist auf 30 Verbindungen mit maximal 50.000.000 Elementen pro Mandant beschränkt, sodass die Skalierbarkeit eingeschränkt ist. Wenn das Datenvolumen groß ist, kann die synchrone Verarbeitung zu einer Herausforderung und einer Sperre werden.

  • Lösungskomplexität: Diese Lösung kann Connectors verwenden, die von unabhängigen Softwareanbietern (ISVs) erstellt wurden. Wenn sie jedoch auf Microsoft Graph SDKs oder Microsoft Graph-APIs zugreift, müssen benutzerdefinierte Daten in das erforderliche Format für Connectors serialisiert werden. Dies bietet Flexibilität, erhöht aber auch die Komplexität. Diese Lösung kann daher von niedriger bis mittlerer Komplexität reichen.