Posted at

AWS Lambda と APIgateway でサーバーレスなフォームアクションを作成

AWS Lambda と APIgateway を用いて, 関数の作成(Lambda)と APIgateway の設定のみで簡単にフォームアクションを実装したため, メモとしてこちらに記事を残します。


関数の作成

AWS の Lambda にて関数を作成します。

https://aws.amazon.com/jp/lambda/

今回は, Ruby を用いて作成しました。

主なリクエストは, lambda_handler 関数の event や context にて取得しており, 必要に応じて処理を書いていきます。


API を作成

APIgateway にて, API を作成します。

URL はリソース名に基づいて発行されるため, 必要に応じて命名しましょう。リソースの作成後は, メソッドの追加をします。先程の Lambda 関数を使用するため, Lamda 関数の欄に先程作成した Lambda 関数を指定します。

スクリーンショット 2019-07-22 11.38.55.jpg


APIgateway を設定

次に API が作成されましたら, 細かい設定をしていきます。メソッドリクエストでは必要に応じて許可するパラメータや必須設定, リクエストヘッダーなどを設定します。そして, 次に統合リクエストについて設定します。今回は, lambda プロキシの統合を利用します。

スクリーンショット 2019-07-22 11.57.55.jpg

lambda プロキシの統合を利用すると, とてもざっくりとした説明になりますが, リクエストをそのまま lambda に送信してレスポンスも決められた形を待つという感じだと思います。


API のデプロイ

最後に作成した API をデプロイします。リソース内のアクションで API のデプロイを選択します。必要があれば, ステージを作成後にしてください。(Production など)

発行された URL はステージのそれぞれのメソッドの項目内で確認できます。