Microsoft Graph を使用してカスタム データを使用して Microsoft Search を拡張する
この記事では、Microsoft Search と Microsoft 365 Copilot エクスペリエンスにカスタムエンタープライズ データを追加する必要があるビジネス シナリオの一般的な Microsoft Graph 統合パターンについて説明します。 カスタム データは、非構造化 Microsoft 365 ストレージに取り込み、さまざまな検索インデックスに追加されます。
この非対話型シナリオには、次の要件があります。
- データ統合の種類は、カスタム データのみを提供し、顧客アプリで Microsoft 365 機能を使用しないためです。
- アプリと Microsoft 365 の間の受信データ フロー。
- インデックス作成用のデータ 量が多い。
- アップロードとインジェストのデータバッチ処理とスケジュール設定により、データ待機時間が長くなります。
このシナリオに最適なオプションは、Microsoft Graph コネクタを使用することです。 次の図は、このソリューションのアーキテクチャを示しています。
ソリューション コンポーネント
このソリューションのアーキテクチャには、次のコンポーネントが含まれています。
- Azure App Service。これにより、インフラストラクチャを管理することなく、任意のプログラミング言語で Web アプリ、スケジュールされたジョブ、RESTful API を構築およびホストできます。 自動スケーリングと高可用性を提供し、Windows と Linux の両方をサポートし、GitHub、Azure DevOps、または任意の Git リポジトリからの自動デプロイを可能にします。
- Microsoft Entra ID。これは Microsoft Graph の認証を管理するために必要であり、OAuth フローを有効にするために委任されたアクセス許可とアプリケーションのアクセス許可をサポートします。
- コネクタを含む Microsoft Graph RESTful API は、単一のエンドポイント (
https://graph.microsoft.com
) を介してアクセスされます。 - カスタム ロジックを実装するカスタム アプリ。
考慮事項
次の考慮事項は、この統合パターンの使用をサポートします。
可用性: クライアント アプリは、Microsoft Graph API を介してデータを定期的に送信します。 非対話型クライアント アプリは、要求を行い、クライアント環境によって制御され、Microsoft Graph コネクタの調整によって制限された頻度でデータをアップロードします。
待機時間: クライアント アプリは同期 Microsoft Graph コネクタ API を使用し、応答を期待しますが、ネットワーク条件と Microsoft Graph サービスの負荷によっては待機時間が発生する可能性があります。
スケーラビリティ: クライアント アプリは、テナントあたり 50,000,000 項目以下の 30 接続に制限されているため、スケーラビリティは制限されます。 データ ボリュームが大きい場合、同期処理が課題と障害になる可能性があります。
ソリューションの複雑さ: このソリューションでは、独立系ソフトウェア ベンダー (ISV) によって構築されたコネクタを使用できますが、Microsoft Graph SDK または Microsoft Graph API にアクセスする場合は、カスタム データをコネクタに必要な形式にシリアル化する必要があります。 これは柔軟性を提供しますが、複雑さも増します。 したがって、このソリューションは低から中程度の複雑さの範囲です。