1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

最終更新日

Microsoft Graph カスタムコネクタを作成してみた

  • このエントリーをはてなブックマークに追加

Microsoft Graph コネクタ/カスタムコネクタとは

Microsoft Graph コネクタは、外部サービスからのデータを Microsoft Graph に取り込み、Microsoft 365 のアプリケーションやサービスで利用できるようにする機能です。
Microsoft Graph コネクタを使用すると、組織が保有する Microsoft 365 データと同様に、外部から取り込んだ独自のデータを Microsoft 365 Copilot や Microsoft Search で検索ができるようになります。

既存でMicrosoftやパートナー企業から以下のようなサービスに接続できるコネクタがMicrosoft Graph コネクタ ギャラリーにて提供されています。

  • Azure サービス
  • Google Drive
  • Slack
  • Amazon S3
  • CSV

接続したいサービスへのコネクタがMicrosoft Graph コネクタ ギャラリーに用意されていない場合は、Microsoft Graph コネクタ API または Microsoft Graph コネクタ SDKを使用してカスタムコネクタを作成できます。
今回は、Microsoft Graph コネクタ API を使用してカスタムコネクタを構築してみます。

今回作成するアプリ

Microsoftの公式サイトで紹介されていたサンプルコードを参考に、カスタムコネクタを作成するアプリケーションを作成します。
サンプルでは、SQLiteを外部データとしてアイテムを取り込んでいます。
カスタムコネクタは論理コンテナのようなもので、その論理コンテナの中に外部データのアイテムをインデックス化するようなイメージと理解しました。
取り込んだアイテムは、外部アイテムとしてMicrosoft Search サービスを介して各種 Microsoft 365サービスから検索できるようになります。



アプリケーションを作成・実行して、以下を行います。

① カスタムコネクタの作成
  外部データのアイテムを格納するためのコネクタを作成します。

② カスタムコネクタのスキーマ登録
  カスタムコネクタのスキーマを登録します。
  スキーマを構成するための属性については、以下の公式ドキュメントをご参照ください。
  Microsoft Graph 接続 のスキーマの登録と更新

③ 外部アイテムのプッシュ
  外部データソースのコンテンツを、カスタムコネクタに取り込みます。

アプリケーションからカスタムコネクタを構築後、SharePoint Online から独自のデータが検索できるようになるか試してみたいと思います。

アプリ作成手順

1. Entra ID アプリ登録

作成するアプリからMicrosoft Graphを操作するために、Entra IDにアプリを登録し、以下のアクセス許可を追加します。
アクセス許可の名前 説明
ExternalConnection.ReadWrite.OwnedBy 外部接続の読み取りと書き込み
ExternalItem.ReadWrite.OwnedBy 外部アイテムの読み取りと書き込み
※上記のアクセス許可を付与するために、管理者の同意が必要となります。

また、[証明書とシークレット]画面より、クライアントシークレットを登録します。
クライアントシークレットはアプリケーション側の設定で必要になりますが、後から確認できないので、登録したタイミングで控えておきます。

2. 取り込みデータCSV用意

取り込みたい外部データをCSVで用意します。

データ項目

名前 説明
ProjectNo 案件番号
CustomerName 顧客名
ProjectSubject 案件名 
Price 金額 
UsageSkills 案件で使用したスキル(製品・サービス、プログラム言語等)

CSVデータ

ProjectNo CustomerName ProjectSubject Price UsageSkills
 1001 株式会社A Webアプリ開発  500000  C#;Azure
 1002 株式会社B データベース移行  750000  PowerShell;Azure SQL
 1003 株式会社C クラウドインフラ構築  1200000  Azure;PowerShell
 1004  株式会社A モバイルアプリ開発  600000  C#;Xamarin
 1005  株式会社A セキュリティ強化   800000  Azure;PowerShell
 1006  株式会社B データ分析プラットフォーム  950000  C#;Azure Synapse
 1007  株式会社D IoTソリューション  1100000  Azure IoT;PowerShell
 1008  株式会社E バックアップソリューション  700000  Azure Backup;PowerShell
 1009  株式会社C AIチャットボット開発  850000  C#;Azure Bot Service
 1010  株式会社C DevOps導入支援  950000  Azure DevOps;PowerShell


3. アプリケーションの作成

サンプルコードを参考に、アプリケーションを作成します。
今回は取り込みたいデータの項目に合わせて一部のソースを修正しました。

4. DB初期化

ソースコードのプロジェクトファイル(.csprojファイル)があるディレクトリで以下のコマンドを実行します。
以下を実行するとプログラムで定義したモデルの情報からDBに定義が作成されます。
dotnet ef migrations add InitialCreate
dotnet ef database update

5. アプリ実行

ソースコードのディレクトリで以下のコマンドを実行し、アプリのビルドと実行を行います。
dotnet build 
dotnet run

コンソールが起動したらメニューの選択ができるようになるので、以下の番号の順に選択します。


① [1 (Create a connection)] を選択
  カスタムコネクタを作成します。 コネクタの一意の識別子、名前、説明を入力します。

② [4 (Register schema for current connection)] を選択
  作成したコネクタのスキーマを登録します。スキーマ登録には数分程度時間がかかります。

③ [7 (Push ALL items to current connection)] を選択
  コネクタへDBからすべてのアイテムデータをプッシュします。

6. Microsoft Search の検索結果表示カスタマイズ

Microsoft 365 管理センターにアクセスし、[検索のバーティカル]と[検索の結果の種類]を作成します。
検索のバーティカルは検索結果画面にタブ追加を行い、検索の結果の種類は検索した結果のレイアウト表示を変更できます。

結果確認

SharePointサイトの検索ボックスから、独自データの検索ができるか確認してみましょう。
試しに「開発」と検索すると、デフォルトの検索結果には表示されません。



タブの右側の[その他]を選択すると、[プロジェクト管理]のタブが選べるようになっています。
このタブを選択すると、検索結果に独自のデータの情報が表示されることを確認できました!


おわりに

いかがだったでしょうか。
Microsoft 365で外部データを取り込んで独自のデータを検索できるようになると、使い勝手が向上して様々な場面で活躍しそうですね!
Copilot for Microsoft 365 でも Microsoft Graph コネクタを利用できるようになっているので、Azure AI Searchを使用したRAGシステム等との違い等についても比較していければと思います!

QUICK E-Solutionsでは、Microsoft製品・サービスに関連する様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
直近では「AIチャットボット構築サービス」をはじめとして、各AIサービスを利用したシステム導入にも注力しておりますので、システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、是非一度 お問い合わせ ください。

※このブログで参照されている、Microsoft、Microsoft 365、Microsoft Graph、Microsoft Search、SharePoint Online、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード