こんにちは。AWS CLIが好きな福島です。
はじめに
今回は、Amazon KendraからSlack接続する方法をご紹介いたします。
参考
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に接続する方法をご紹介いたしました。 どなたかのお役に立てれば幸いです。