【Amazon Kendra】Slack接続について

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

はじめに

今回は、Amazon KendraからSlack接続する方法をご紹介いたします。

参考

docs.aws.amazon.com

Slackアプリの作成

まず、KendraからSlackに接続するためには、SlackのOAuth Tokenが必要になるため、Slackのアプリを作成します。

Slackアプリにアクセス

Slackアプリにアクセスします。

Slack API: Applications | Slack

Create New Appを押下

From scratchを押下

アプリ名およびWorkspaceを選択し、Create Appを押下

OAuth & Permissionsを選択

Bot Token Scopesを設定

権限は以下を設定します。

"channels:history",
"channels:read",
"groups:history",
"groups:read",
"im:history",
"im:read",
"mpim:history",
"mpim:read",
"team:read",
"users.profile:read",
"users:read",
"emoji:read",
"files:read",
"usergroups:read"

Basic Informationを選択し、Install to WorkSpaceを押下

許可するを押下

OAuth & Permissionsを選択し、Bot User OAuth Tokenを控えておく

アプリをチャンネルに追加

Kendraから読み取りたいチャンネルに作成したアプリ追加します。

  • アプリにメンションします。

  • チャンネルに追加するかポップアップが出るため、追加するを押下

  • 以下のようにチャンネルに追加されればOKです。

Kendraのデータソース設定

Data sourcesを選択し、Add data sourceを押下

Slack connectorのAdd connectorを押下

Data source nameおよびDefault Languageを設定

Slack woskpace team IDを設定

※team IDは、URLのリンクから確認することができます。

Slack Bot token の設定

  • Create and add new secretを押下

  • Secret nameとSlack Bot tokenの設定

※これにより、Bot tokenが格納されたSecret Managerが自動で作成されます。

IAM Roleの設定

  • Create a new role(Recommend)を押下し、Role nameを設定

Slackの同期設定

* Select type of content to crawl
同期するチャンネルの種別を設定できます。

Public channels  
Private channels  
Group messages   
Private messages 

* Channels
同期したいチャンネルを指定できます。

* include bot message, include archived messages
ボットまたはアーカイブされたメッセージを含めるか設定できます。

* Change log mode
変更されたメッセージだけ同期をする設定ができます。

以下は、Public channelsの特定チャンネルおよび変更メッセージだけを取得する設定になります。

含めたいまたは含めたくないファイル形式を100パターンまで設定できます。

同期したいメッセージの時刻および間隔を設定します。

* Select crawl start date
同期したいメッセージの時刻の設定

* Sync run schedule
同期する間隔を設定します。

Run on demand
Hourly
Daily
Weekly
Monthly
Custom

field mappingsの設定

Kendraのインデックスの項目とSlackの項目のマッピング設定ができます。

サマリを確認し、Add data sourceを押下

KendraとSlackを同期

Sync nowを押下

今回は2回実行したのですが、それぞれ7,8分で終わりました。

Kendraで検索

Search indexed contentを選択

Default language of source documentsをjapaneseに変更

Bedrockで検索

Slackには、Bedrockのよくある質問の内容をコピぺしてメッセージ投稿してます。

Kendraは上記メッセージを取り込んでいるため、 以下のようにBedrockと検索すると、関連するメッセージを取得することができます。

終わりに

今回は、Amazon KendraからSlackに接続する方法をご紹介いたしました。 どなたかのお役に立てれば幸いです。