Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microsoft SearchとMicrosoft GraphコネクタとGraph

Avatar for takas takas
August 26, 2022

Microsoft SearchとMicrosoft GraphコネクタとGraph

Avatar for takas

takas

August 26, 2022
Tweet

More Decks by takas

Other Decks in Technology

Transcript

  1. 誰? Takas(@DevTakas) Angular / Azure / .NET Core / Azure

    DevOps / Microsoft Graph Microsoft MVP Office Development
  2. 1. Microsoft Searchについて • 人、ファイル、組織のグラフ、サイトなどを取得できる • 個人ベースでの使用となる • 個人が持つアクセス権や分析情報をベースにする •

    人によって結果が異なる可能性がある • 外部コンテンツに対しても検索可能 • Microsoft365全体を検索対象とすることが可能 Microsoft Searchとは
  3. 1. Microsoft Searchについて • Microsoft 365のあらゆるデータ • Share Point, OneDrive,

    Exchange… • 外部コンテンツ • Azure Data Lake, CSV, SQL Database, Azure DevOps… • アプリ特有の情報 • 関数など Microsoft Searchで検索できるもの
  4. 2. Microsoft Graphコネクタについて • Microsoft Graphコネクタエージェントが必要 • 推奨環境はちょい重 • Azure

    ADアプリケーションの作成が必要 • ExternalItem.ReadWrite.OwnedBy • ExternalItem.ReadWrite.All • ドキュメントに記載ないがこれも必要 • Directory.Read.All • ファイル共有、MS SQL、Oracle SQLコネクタで必要 • シークレットor証明書による認証 Microsoft Graphコネクタの設定(オンプレリソースの利用)
  5. 3. JavaScriptからMicrosoft Search APIを利用する • Microsoft Search APIをMicrosoft Graphから使用できる •

    Microsoft365、コネクタを通して外部リソースも検索可能 • 前述の通りユーザーベースの検索結果となる Microsoft Graphから提供されるWeb API Microsoft Graph Microsoft Search API Graph Connector
  6. 3. JavaScriptからMicrosoft Search APIを利用する • Graphを通して検索を行う際は ADアプリに対応するアクセス許可が必要となる • メッセージの検索:Mail.Read •

    Teamsのメッセージ検索:Chat.Read • イベントの検索:Calendars.Read • 外部リソース:External.Read.All … Microsoft Graphから提供されるWeb API
  7. 3. JavaScriptからMicrosoft Search APIを利用する POST https://graph.microsoft.com/v1.0/search/query Microsoft Graphから提供されるWeb API {

    "requests": [ { "entityTypes": [ "event" ], "query": { "queryString": "contoso" } } ] } { "requests": [ { "entityTypes": [ "externalItem" ], "contentSources": [ "/external/connections/azuresqlconnector", "/external/connections/azuresqlconnector2" ], "query": { "queryString": "*" } } ] } 検索文字列 検索文字列 コネクタ 予定の検索 外部リソースの検索 複数のリソースを対象に、とか単一のリソースを対象に検索を行うことができる
  8. 3. JavaScriptからMicrosoft Search APIを利用する POST https://graph.microsoft.com/v1.0/search/query Microsoft Graphから提供されるWeb API {

    "value": [ { "searchTerms": [ "sampleevent" ], "hitsContainers": [ { "hits": [ { "hitId": “…", "rank": 1, "summary": "", "resource": { } } ], "total": 1, "moreResultsAvailable": false } ] } ], "@odata.context": “…" } 検索した文字列 検索結果 検索結果の実データ (イベントなど) …
  9. 3. JavaScriptからMicrosoft Search APIを利用する • from/size: ページング。ページの開始、1ページあたりの結果数 • fields: 選択したプロパティを取得

    • sortProperties: 並び替え • 等々・・・ Microsoft Graphから使用してみる(様々なクエリ) { requests: [ { entityTypes: [ "listItem" ], query: { queryString: "contoso" }, fields: [ "title", "contentclass" ], from: 0, size: 25, aggregations: [ { … } ] } ] }
  10. 参考ページ • Microsoft Search の概要 • https://docs.microsoft.com/ja-jp/microsoftsearch/overview-microsoft-search • Microsoft Search

    の Microsoft Graph コネクタの概要 • https://docs.microsoft.com/ja-jp/microsoftsearch/connectors-overview • ライセンスの要件と価格 • https://docs.microsoft.com/ja-jp/microsoftsearch/licensing • Microsoft Graph connectors • https://www.microsoft.com/microsoft-search/connectors/ • Microsoft Graph コネクタ エージェント • https://docs.microsoft.com/ja-jp/microsoftsearch/graph-connector-agent • Microsoft Graph の Microsoft Search API の概要 • https://docs.microsoft.com/ja-jp/graph/search-concept-overview