ヤマムギ

growing hard days.

*

TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する

   

twilio-apigateway

Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意するのですが、これをAPI Gateway+Lambdでサーバーレスで処理してしまうケースです。
API Gatewayの設定でややはまってしまいました。

Twilio側の設定

電話番号を取得して、[A CALL COMES IN]にAPIのURLをGETで設定するのみです。

API Gateway側の設定

統合リクエスト

本文マッピングテンプレートを追加します。

  • Content-Type : application/json

統合レスポンス

本文マッピングテンプレートを追加します。

例えばlambdaの戻り値のjsonを下記とした場合

本文マッピングテンプレートはこのようにして音声ファイルとその先のリダイレクト先jsonから変換します。
- Content-Type : application/xml

メソッドレスポンス

200のレスポンスモデルに追加します。

  • コンテンツタイプ:application/xml
  • モデル:Empty

以上でAPI GatewayへのリクエストでTwimlが返って、Twilioの着信をトリガーに意図した応答が出来るようになりました。


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

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

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

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

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

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

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

 - AWS , , ,

  関連記事

Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)

やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …

Backlogの課題チケット更新内容をMicrosoft Teamsに通知する(AWS Lambda Python)

BacklogにSlack連携が追加されました。 ですが、私の所属している会社で …

SageMaker AI StudioでJupyterLab スペースを作成しJupyterLab を起動、S3拡張のインストール

JupyterLab ユーザーガイドとJupyterLab 拡張機能を参照して、 …

CloudWatch インテリジェントオペレーションでこのブログのログを調査してみました

CloudWatch インテリジェントオペレーションを設定しました。 設定 マネ …

AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する

Macで操作しました。 AWS CLIバージョンアップ [crayon-6ab6 …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

CodeGuru ProfilerでLambda関数(Python 3.9)のパフォーマンスを確認した

CodeGuru ProfilerでPython 3.9のLambda関数の推奨 …

AWS Storage Gateway File Gateway on EC2インスタンスにmacOSからNFS接続

S3バケットの作成 S3バケットはあらかじめ作成しておきました。 マネジメントコ …

AWS Transit GatewayのVPCアタッチメント

構成 これぐらいの構成なら、VPCピアリングでいいのですが、Transit Ga …

AWS Systems Manager セッションマネージャを使用するために必要な設定

AWS Systems Manager セッションマネージャを使用するために必要 …