Rocket.ChatからOut Going Webhookを設定してみる
2020/06/18
目次
API GatewayとLambda
とりあえず、どんなデータが飛んでくるのか見てみたかったので、API GatewayとLambdaでデータを受けてCloudWatch Logsにログを書くだけのAPIを作りました。
1 2 3 4 5 6 7 |
def lambda_handler(event, context): print(event) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') } |
return以降はデフォルトのまま、print(event)を足しただけです。
これをAPI GatewayでREST APIを作って、POSTに設定して、デプロイするだけです。
そうしてできたエンドポイントをRocket.Chatに設定します。
Rocket.Chat
管理メニューを選択します。
[サービス連携]で[新しいサービス連携]を押下しました。
[発信WebHook]を選択しました。
トリガーとチャンネルとURLsを設定しました。
URLsには、API Gatewayで作ったAPIエンドポイントを設定しました。
さっそく、Rocket.Chatに書いてみてログを確認してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ 'token': 'xxxxxxxxxxxxxxxxxxxxx', 'bot': False, 'channel_id': 'xxxxxxxxxxxxxxxx', 'channel_name': 'general', 'message_id': 'xxxxxxxxxxxxxxx', 'timestamp': '2020-06-16T07:11:20.251Z', 'user_id': 'xxxxxxxxxxxxxxxxxx', 'user_name': 'reply', 'text': '回答です。', 'siteUrl': 'http://http://ec2-00-00-00-00.compute-1.amazonaws.com:3000/', 'isEdited': True, 'tmid': 'xxxxxxxxxxxxx' } |
textはもちろん様々な情報が取れるようです。
tmidってなんだろうと思っていろんなパターンで試したところ、どうやら返信の際の親トピックメッセージのIDのようでした。
ということは、チャットで質疑応答したデータをそのまま、ナレッジデータベースに転送して、トピックと返信をIDで紐付けてFAQにして、次回からはBotが自然言語検索して返すみたいなことができるんじゃないかと妄想して一瞬楽しくなりました。
ん?ひょっとしてKendraかな。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
AWS Certificate Manager証明書とAmazon Route 53でAmazon API GatewayのAPIのカスタムドメイン名前解決する
AWS Certificate ManagerとAmazon Route 53と …
-
EC2 Global Viewで不要なインスタンスを見つけて4つほど終了しました
EC2 Global Viewという機能がリリースされました。 EC2コンソール …
-
S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました
ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …
-
RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもできるようになってました
RDSスナップショットをS3にエクスポートする新機能を試そうかと思ったのときは、 …
-
S3イベントのAWS Lambdaのテスト設定
S3イベントのLambda関数でよく使うのはこんなテスト設定です。 なので覚書で …
-
DynamoDB IAMポリシーで特定属性だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …
-
ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン 手順
このブログは2020/5/6に開催しました、「ヤマムギ vol.10 (AWS) …
-
RDS ProxyをAurora MySQLで
Lambda関数をたくさん同時実行してMySQLにアクセスしても大丈夫なようにR …
-
RDSインスタンスのストレージをgp2からgp3に変更しました
2022/11/9にRDSでgp3ボリュームが使用できるようになりました。 Am …
-
Amazon CloudWatch Syntheticsでハートビートモニタリングを実行
このブログに対してハートビートモニタリングのCanaryを実行してみました。 C …