使用 Microsoft Graph 通过自定义数据增强Microsoft搜索

本文介绍需要将自定义企业数据添加到Microsoft搜索和智能 Microsoft 365 Copilot 副驾驶®体验的业务方案的常见 Microsoft Graph 集成模式。 自定义数据将引入到非结构化Microsoft 365 存储中,并添加到各种搜索索引。

此非交互式方案具有以下要求:

  • 数据集成类型,因为它仅提供自定义数据,并且不使用客户应用中Microsoft 365 功能。
  • 应用与 Microsoft 365 之间的入站数据流。
  • 用于索引的高数据量。
  • 数据批处理和计划上传和引入,这会导致数据延迟增加。

此方案的最佳选择是使用 Microsoft Graph 连接器。 下图显示了此解决方案的体系结构。

显示使用Microsoft Entra ID进行身份验证、连接到 Microsoft Graph 并将内容导出到语义搜索的第三方应用的关系图。

解决方案组件

此解决方案的体系结构包括以下组件:

  • Azure 应用服务,它允许你以首选编程语言生成和托管 Web 应用、计划作业和 RESTful API,而无需管理基础结构。 它提供自动缩放和高可用性,支持 Windows 和 Linux,并支持从 GitHub、Azure DevOps 或任何 Git 存储库进行自动部署。
  • Microsoft Entra ID,这是管理 Microsoft Graph 身份验证所必需的,并支持启用 OAuth 流的委托权限和应用程序权限。
  • Microsoft图形 RESTful API(包括连接器)通过单个终结点进行访问: https://graph.microsoft.com
  • 实现自定义逻辑的自定义应用。

注意事项

以下注意事项支持使用此集成模式:

  • 可用性:客户端应用定期通过 Microsoft Graph API 发送数据。 非交互式客户端应用以客户端环境控制且受Microsoft Graph 连接器限制的频率发出请求并上传数据。

  • 延迟:客户端应用使用同步Microsoft Graph 连接器 API,并需要响应,但可能会发生一些延迟,具体取决于网络条件和 Microsoft Graph 服务的负载。

  • 可伸缩性:客户端应用限制为 30 个连接,每个租户的项不超过 50,000,000 个,因此可伸缩性受到限制。 如果数据量很大,同步处理可能会成为一个挑战和障碍。

  • 解决方案复杂性:此解决方案可以使用独立软件供应商 (ISV) 构建的连接器,但如果它访问Microsoft Graph SDK 或Microsoft Graph API,则需要将自定义数据序列化为连接器所需的格式。 这提供了灵活性,但也增加了复杂性。 因此,此解决方案的复杂程度从低到中等不等。