やりたいこと
API Gatewayとlambdaを連携させて、REST APIの作成してみたいと思います。
まずそれぞれのサービスについての概要
- AWS Lambda とは
サーバレスでコードを実行することが出来るサービス
詳細は こちら を御覧ください
- API Gatewy とは
APIの管理や実行を簡単にできるサービスで
クライアントからのリクエストを受け取り、AWSのサービスに渡します
詳細は こちら を御覧ください
手順
- lambda関数の作成
- API Gatewayで REST APIを作成する
- hello lamda API をデプロイ
- APIにリクエストを送る
作成
lambda関数の作成
- lambdaに移動し、関数を作成する
右上の方から関数を作成することが出来ます
- lambdaの詳細設定を記載
オプションは「一から作成」で、
関数名とランタイムを記載して関数を作成します。
- lambda関数の完成
今回はサンプルコードがあるので、そのまま使います。
「Hello from Lambda!」がかえるような結果になります。
API Gatewayで REST APIを作成する
- API Gatewayに移動し、APIを作成します
右上からAPIを作成します
- APIタイプを選択
色々タイプがありますが、今回は REST API を使用します
「構築」で次へ進みます
- APIの作成
APIの作成を行います。
今回は「新しいAPI」で、
API名と説明、エンドポイントタイプを設定します。
設定が完了したら作成を行います。
- APIが作成できました
APIにエンドポイントの設定を行う
- メソッドの作成
アクション > メソッドの作成 を行います
GETメソッドを作成し、チェックを行います
- GETメソッドの詳細
統合タイプは lambda関数
lambdaリージョンは、 東京リージョンを指定
lambda関数は 先程作ったlambda関数を指定し、保存します
- GETメソッドが作成完了
GETメソッドが作成されました
これで hello lamda API からlambda関数を呼び出せるようになりました
lambdaを見ると、
lambdaを呼び出すトリガーにAPI Gatewayが設定されています。
hello lamda API をデプロイ
- APIのデプロイ
API Gatewayから
アクション > APIのデプロイ を行います
- デプロイの設定
ステージは今ないので、新しいステージを作成して、
ステージ名は今回なんでもいいのでtestにしました。
説明等書いてデプロイします
- デプロイされました
デプロイされて、URLが出力されました。
APIにリクエストを送る
↑で出力されたURLをクリックして、APIにリクエストを送ります。
すると、最初にlambdaで設定されていたサンプルコードの
「Hello from Lambda!」 が返ってきました。