Использование Microsoft Graph для расширения поиска (Майкрософт) с помощью пользовательских данных
В этой статье описывается распространенный шаблон интеграции Microsoft Graph для бизнес-сценария, который требует добавления пользовательских корпоративных данных в поиск (Майкрософт) и Microsoft 365 Copilot интерфейсы. Пользовательские данные попадают в неструктурированное хранилище Microsoft 365 и добавляются в различные индексы поиска.
Этот неинтерактивный сценарий имеет следующие требования:
- Тип интеграции данных, так как он предоставляет только пользовательские данные и не использует функции Microsoft 365 в клиентских приложениях.
- Входящий поток данных между приложением и Microsoft 365.
- Большой объем данных для индексирования.
- Пакетная обработка данных и планирование отправки и приема, что приводит к увеличению задержки данных.
Лучшим вариантом для этого сценария является использование соединителей Microsoft Graph. На следующей схеме показана архитектура для этого решения.
Компоненты решения
Архитектура этого решения включает в себя следующие компоненты:
- Служба приложений Azure, которая позволяет создавать и размещать веб-приложения, запланированные задания и API RESTful на предпочитаемом языке программирования без необходимости управлять инфраструктурой. Он предлагает автоматическое масштабирование и высокий уровень доступности, поддерживает Windows и Linux, а также включает автоматическое развертывание из GitHub, Azure DevOps или любого репозитория Git.
- Microsoft Entra ID, который необходим для управления проверкой подлинности для Microsoft Graph и поддерживает делегированные разрешения и разрешения приложений для включения потока OAuth.
- Api RESTful Microsoft Graph, включая соединители, доступ к ним осуществляется через одну конечную точку:
https://graph.microsoft.com
. - Пользовательское приложение, реализующее пользовательскую логику.
Рекомендации
Использование этого шаблона интеграции поддерживается следующими рекомендациями.
Доступность. Клиентское приложение периодически отправляет данные через API Microsoft Graph. Неинтерактивное клиентское приложение выполняет запросы и отправляет данные с частотой, контролируемой клиентской средой и ограниченной регулированием соединителей Microsoft Graph.
Задержка. Клиентское приложение использует API-интерфейсы синхронных соединителей Microsoft Graph и ожидает ответа, но может возникнуть некоторая задержка в зависимости от сетевых условий и нагрузки на службу Microsoft Graph.
Масштабируемость. Клиентское приложение ограничено 30 подключениями с не более чем 50 000 000 элементов на клиент, поэтому масштабируемость ограничена. Если объем данных большой, синхронная обработка может стать проблемой и препятствием.
Сложность решения. Это решение может использовать соединители, созданные независимыми поставщиками программного обеспечения (ISV), но если оно обращается к пакетам SDK для Microsoft Graph или API Microsoft Graph, ему необходимо сериализовать пользовательские данные в требуемом формате для соединителей. Это обеспечивает гибкость, но и повышает сложность. Таким образом, это решение может варьироваться от низкой до средней сложности.