継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Slack のスラッシュコマンドを使って AWS リソースを操作する

タダです.

過去に AWS Chatbot から Lambda に AWS リソースを操作する記事を書いたのですが,AWS Chatbot を呼び出すコマンドはパラメータなど覚えていないといけず普段詰まることがよくあり,開発者に提供するツールとしてはスラッシュコマンドで出すようにしています.スラッシュコマンドは API Gateway と Lambda の組み合わせが一般的で記事もたくさんあるのですが,スラッシュコマンド で AWS リソースを操作したい時の設定事項をこの記事に備忘録として残しておきます.

sadayoshi-tada.hatenablog.com

AWS 側の設定

API Gateway 側の設定としてまずは REST API を構築します.次に設定するのがメソッドとパスごとに呼び出したい Lambda 関数の設定です.

f:id:sadayoshi_tada:20220118164727p:plain

最後にマッピングテンプレートです.Content-Type を application/x-www-form-urlencoded にして,テンプレートの生成の箇所を メソッドリクエストのパススルー に設定します.

f:id:sadayoshi_tada:20220118164420p:plain

以上で完了です.

Slack 側の設定

下記のページから Create New Appを押して新しいアプリケーションを作っていきます.From scratch > App Name にアプリケーション名と Pick a workspace to develop your app in にインストールする Slack のワークスペースを選びます.

api.slack.com

加えて Add features and functionality > Slash Commands に実行したいコマンドと API Gateway のエンドポイントを追記します.その後,Install your appワークスペースにインストールすればOKです.

まとめ

スラッシュコマンド で AWS リソースを操作する時の設定をまとめました.今後も AWS Chatbot と使い分けをしていきたいと思います.

参考記事

dev.classmethod.jp

qiita.com