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

Microsoft SearchとMicrosoft GraphコネクタとGraph

takas
August 26, 2022

Microsoft SearchとMicrosoft GraphコネクタとGraph

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