意外とハマり所が多かったので、Qiitaの記事にします。 今回Twilioアプリケーションのホスティング先として、AWS Lambda+API Gatewayを採用しました。以下のような構成図ですね。 TwilioでPythonの開発を行う場合、公式サイトではFlaskを使った事例が紹介されていますが、AWS LambdaではAPI Gatewayを経由しないとHTTPのリクエストを受け付ける事が出来ません。しかも、AWS Lambdaではどんどん新しいソリューションが作られていきますので、既存の情報がすぐに古くなってしまいます。 色々試行錯誤をした結果、LambdaやAPI Gatewayへのデプロイを支援してくれるフレームワークがある事を知りました。この辺のフレームワークを上手に使わないと、API GatewayやIAM Role周りが面倒くさすぎます。 awslabs/chalice
![AWS Lambda上でPythonを使ってTwilioアプリケーションを書く時のハマり所と知っておくと嬉しい小ネタ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/00929420447502b5937ca6e434c45e64ae27847b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QVdTJTIwTGFtYmRhJUU0JUI4JThBJUUzJTgxJUE3UHl0aG9uJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJUE2VHdpbGlvJUUzJTgyJUEyJUUzJTgzJTk3JUUzJTgzJUFBJUUzJTgyJUIxJUUzJTgzJUJDJUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJUIzJUUzJTgyJTkyJUU2JTlCJUI4JUUzJTgxJThGJUU2JTk5JTgyJUUzJTgxJUFFJUUzJTgzJThGJUUzJTgzJTlFJUUzJTgyJThBJUU2JTg5JTgwJUUzJTgxJUE4JUU3JTlGJUE1JUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJThBJUUzJTgxJThGJUUzJTgxJUE4JUU1JUFDJTg5JUUzJTgxJTk3JUUzJTgxJTg0JUU1JUIwJThGJUUzJTgzJThEJUUzJTgyJUJGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05YmZiNDZlOTEyMGM1ZWFmZDVlM2IxZDBhZTUwNTIzOA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZG9yYV9rb3UmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPThiM2JmNWY3NGZkNjgyMWI0MjcyOTMxMGQ1M2UyOTJj%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D6d4e01fb0b344a040382aadeea61fe7a)