AWS Chatbot を使って Slack から Lambda を実行してみた

AWS Chatbot が Slack からのコマンド実行をサポートしたようなので早速試してみました。

aws.amazon.com

AWS Chatbot の設定

まずは AWS のコンソールで AWS Chatbot のページに移動します。

Configure a chat client > Chat clientSlack を選択し、Configure client を押下します。

f:id:enomotodev:20191126123503p:plain

Slack OAuth のページに遷移するので、右上の Workplace を変更するようだったら変更し、Allow を押下します。

f:id:enomotodev:20191126123716p:plain

再び AWS 側に遷移するので、Slack channel の設定をします。

PermissionsPolicy templates ではデフォルトで Notification permissions が選択されているので、Lambda を実行するために必要な Lambda-invoke command permissions を追加で選択します。

Notifications の設定は特に行わず、決定します。

Slack の設定

さきほど、AWS Chatbot の設定で選択したチャンネルで

/invite @aws

を入力し、チャンネルに join させます。

f:id:enomotodev:20191126124634p:plain

問題なく join できたら

@aws help

を入力し、help が表示されるか確認してみます。

f:id:enomotodev:20191126124755p:plain

Lambda の作成

AWS Chatbot から Lambda 実行のテストを行いたいので、test-lambda-function という名前で適当に Lambda を作成します。

f:id:enomotodev:20191126125603p:plain

Lambda を実行してみる

準備が全て整ったので slack から

@aws lambda invoke test-lambda-function --region ap-northeast-1

と入力して Lambda を実行します。

f:id:enomotodev:20191126125931p:plain

本当に実行して良いか聞かれるので Yes を選択します。

f:id:enomotodev:20191126130140p:plain

Lambda の実行結果も Slack に通知されました!

まとめ

AWS Chatbot はまだ beta 版ですが、Lambda を実行できたりと、今後さらにできることが増えていきそうです。

今回は Lambda の実行のみでしたが、aws cli と同じような感じで使えるみたいなので他の使い方も色々試していきたいと思います。

参考