ヤマムギ

growing hard days.

*

slackのbotをAWS Lambda(Python)+API Gatewayで構築

   

slack-apigateway-lambda

slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、これをAWSのLambda(Python)+API Gatewayで構築しましたメモです。

AWS Lambdaで実装する

eventに辞書型でslackからusername,text,channel_nameなどがPOSTされるのでそれを受け取って、json形式で返します。

API Gatewayの設定

lambdaのAPI endpointsから設定します。

MethoはPOSTにします。

出来たAPI Gatewayの設定画面に行って、[統合リクエスト]の設定を展開します。

API_Gateway_mapping_template

[マッピングテンプレートの追加]でContent-Type 「application/x-www-form-urlencoded」を追加します。

保存します。

slackでOutgoing Webhooksを設定する

slackのログインしている状態でCustom IntegrarionsでOutgoing Webhooksを追加して設定します。
※Team Settingsで画面上部の検索窓(Search app directory)で「Outgoing Webhooks」を検索するとわりとたどりつきやすいです。

Configure_Outgoing_WebHooks

[Add Configuration]で設定します。

  • Channel トリガーとするチャンネルを指定します。全チャンネルにしたいので「Any」を設定しました。
  • Trigger Word(s) チャンネルを指定している時はブランクでもOKですが、「Any」にしている時は設定が必要です。今回はbotの名前をトリガーワードにしました。
  • URL(s) Lambda(API Gateway)で設定したAPI endpoint URLを設定します。
  • Customize Name botの名前を設定します。
  • Customize Icon botのアイコンを設定します。

これで準備完了です。

例えば、Trigger Word(s)を「test-bot」とかにしていれば、「test-bot おはよう」のように投稿すれば返事が帰ってきます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

  関連記事

AWS CDK とにかくサンプルでやってみる

Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …

Amazon CloudWatch RUMはじめました

新機能 – Amazon CloudWatch RUM をご紹介 2021年12 …

ちょっとしたCLI作業にEC2起動テンプレート

CLIでちょっとした作業したいだけのときに、Cloud9を使うまでもないなあと思 …

AWS Secrets Manager交代ユーザーローテーション

AWS Secrets Managerの交代ユーザーローテーションを確認してみま …

Cloud9 Python3でpipも3にする

このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …

「AWSではじめるLinux入門ガイド 」を執筆しました

2020年4月30日に、「AWSではじめるLinux入門ガイド」という本を発行い …

AWS SSOのIDソースをAD Connectorにしました

オンプレミス想定のActive DirectoryにVPN接続して、AD Con …

S3バケットにWebフォントをアップロードしてCORSを設定する

Webフォントファイルは、モジワク研究さんのマメロンを使用させていただきました。 …

Amazon Glacierでボールトロックポリシーの作成開始をしてみました

Glacierを単体で使用することもそうそうないので、確認しました。 まずボール …

Amazon API Gatewayでモックを作る

超シンプルなAPI Gatewayのサンプルがほしかったので、ユーザーガイドの手 …