Rocket.ChatのOutGoingWebhookからのAPI GatewayからのDynamoDB
2020/08/25
少し前に、Rocket.ChatからOut Going Webhookを設定してみるで確認したとおり、どんな情報がPOSTされるかはわかりましたので、必要な情報だけをそのままDynamoDBにPutItemしたいと思います。
API Gatewayの統合リクエストの設定はAPI Gatewayから直接 DynamoDBに書き込むに記載のとおり、以下の主な設定とIAMロールを指定します。
- 統合タイプ: AWSサービス
- AWSサービス: DynamoDB
- HTTPメソッド: POST
- アクション: PutItem
そして、テーブル名はリクエストデータに含めるのですね。
これをどうやってマッピングテンプレートで実現するのか、ユーザーガイドを確認して試しながらで、結果こちらで実現できました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "TableName": "table_name", "Item": { "message_id": { "S": $input.json('$.message_id') }, "timestamp": { "S": $input.json('$.timestamp') }, #if($input.path('$.tmid') != "") "tmid": { "S": $input.json('$.tmid') }, #end "text": { "S": $input.json('$.text') } } } |
Rocket.Chatで、返信したときだけ、親トピックのmessage_idが、tmid に設定されます。
親トピックが投稿されたときに、リクエストデータから tmidを省くために #if ~ #end で分岐しています。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
i【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する
執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …
-
-
AWS RDS でMySQLインスタンスを構築する
Amazon Web ServiceにはAmazon Relational Da …
-
-
EC2 Amazon Linux 2 にAmazon LinuxからWordPressを移行
このブログを新しいインスタンスに移行することにしました。 2015年5月にAma …
-
-
ParquetフォーマットのデータにS3 Select SQLを実行する
RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …
-
-
S3に置いたMP3ファイルをTwilioから電話再生する(AWS Lambda Python)
Google Calendar Twilio ReminderのTwilioを使 …
-
-
DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する
JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …
-
-
AWS認定ソリューションアーキテクトアソシエイトのサンプル問題
AWS認定ソリューションアーキテクトアソシエイトのサンプル問題の解説を会社のブロ …
-
-
Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)
Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …
-
-
AWSアカウント内のLambda関数を削除するLambda(Python)
やりたいこと 特定のAWSアカウントの特定リージョンのAWS Lambda関数を …
-
-
CloudWatch LogsメトリクスフィルタでNginxのaccess_logから転送バイト数をモニタリングする
ユーザーガイドのApache ログからのフィールドの抽出を見てて、これ、Ngin …