事件
Use Microsoft Graph to augment Microsoft Search with custom data
This article describes a common Microsoft Graph integration pattern for a business scenario that requires adding custom enterprise data to the Microsoft Search and Microsoft 365 Copilot experiences. The custom data is ingested into unstructured Microsoft 365 storage and added to various search indexes.
This non-interactive scenario has the following requirements:
- A data integration type, because it only provides custom data and doesn't use Microsoft 365 functionality in customer apps.
- An inbound data flow between the app and Microsoft 365.
- A high data volume for indexing.
- Data batching and scheduling for upload and ingestion, which results in increased data latency.
The best option for this scenario is to use Microsoft Graph connectors. The following diagram shows the architecture for this solution.
The architecture for this solution includes the following components:
- Azure App Service, which lets you build and host web apps, scheduled jobs, and RESTful APIs in your preferred programming language, without having to manage infrastructure. It offers auto-scaling and high availability, supports both Windows and Linux, and enables automated deployments from GitHub, Azure DevOps, or any Git repo.
- Microsoft Entra ID, which is required to manage authentication for Microsoft Graph and supports delegated and application permissions to enable OAuth flow.
- Microsoft Graph RESTful APIs, including connectors, accessed via a single endpoint:
https://graph.microsoft.com
. - A custom app that implements custom logic.
The following considerations support the use of this integration pattern:
Availability: The client app periodically sends data via Microsoft Graph APIs. The non-interactive client app makes requests and uploads the data at a frequency controlled by the client environment and limited by Microsoft Graph connectors throttling.
Latency: The client app uses the synchronous Microsoft Graph connectors APIs and expects a response, but some latency can occur depending on the network conditions and the load on the Microsoft Graph service.
Scalability: The client app is limited to 30 connections with no more than 50,000,000 items per tenant, so scalability is limited. If the data volume is large, synchronous processing might become a challenge and a roadblock.
Solution complexity: This solution can use connectors built by independent software vendors (ISVs), but if it accesses Microsoft Graph SDKs or Microsoft Graph APIs, it needs to serialize custom data into the required format for connectors. This provides flexibility but also increases the complexity. This solution can therefore range from low to medium complexity.
更多資源
訓練
模組
將更多資料帶至 Microsoft 搜尋 - Training
探索 Microsoft Graph 和同盟連接器如何幫助您將更多組織資料帶至 Microsoft 搜尋。 使用自訂類別、結果叢集和其他自訂項目,來增強使用者的搜尋體驗。
認證
Microsoft Certified: Azure AI Engineer Associate - Certifications
使用 Azure AI 服務、Azure AI 搜尋服務和 Azure Open AI 來設計及實作 Azure AI 解決方案。
文件
-
Build interactive apps by using Microsoft Graph APIs - Microsoft Graph
Learn about the integration pattern that uses Microsoft Graph APIs to build interactive apps.
-
Analyze Microsoft Graph data in your data storage - Microsoft Graph
Learn about Microsoft Graph interaction patterns for non-interactive use cases that rely on a large amount of extracted Microsoft 365 data.
-
Common integration patterns with Microsoft Graph - Microsoft Graph
Get an overview of the integration patterns that you can apply to solutions that you build using Microsoft Graph.