【AWS初心者でも分かりやすい】Lambdaで作成した関数をAPI Gatewayでアタッチする方法


今回はLambdaで作成した関数をAPI Gatewayを使用して、Lambdaで作成した関数をAPIとして使用する方法をお教えします。

特に細かい説明というよりかは、やり方だけを書いていくので、なにか気になる点があればご自身でお調べください。

また、そこまで設定も難しくないので、肩の力を抜いてご覧ください。

それでは早速説明していきます。

はじめに

Lambdaで関数を作成している前提で話を進めていきます。

なので、まだLambdaで関数を作成していない方は作成してから本記事をご覧ください。

API Gatewayの設定

まず、Lambdaで作成した関数をAPIとして使用するために、API Gatewayで設定を行わなければなりません。

まずはAPI Gatewayのコンソール画面へいきます。

https://ap-northeast-1.console.aws.amazon.com/apigateway/main/apis?region=ap-northeast-1

APIの作成

そして、適当にAPIを作成します。

APIを作成する際、個人の用途に合わせタイプを選択してください。

ほとんどの場合、REST APIで問題ありません。

また、既存のAPIを使用しても構いませんので、お好きな方をお選びください。

作成したAPI、もしくは既存のAPIから「/」をクリック。

そのまま「アクション」から「リソースの作成」をクリック。

リソース名、リソースパスは任意の名前で入力。

本記事は「example」とします。

「リソースの作成」をクリック。

「API Gateway CORS を有効にする」は、後で有効にしますのでチェックしないでください。

メソッドの作成

そしたら、以下のように今設定したパスを選択し、「アクション」から「メソッドの作成」をクリック。

任意のメソッドを選択。

Lambda関数と紐づけ

そしたら以下のような画面になると思います。

「Lambda関数」から、APIとして使用したいLambda関数名を選択。

「保存」をクリック。

総合リクエストの設定

そしたら、同じようにパスのメソッド部分をクリック。

すると、以下のような総合リクエストという項目があるのでクリック。

一番下のマッピングテンプレートのタブをクリックし、「Content-type」の設定。

ほとんどの場合はapplication/jsonでOKです。

テンプレートの生成で「メソッドリクエストのパススルー」を選択。

「保存」してください。

CORSの有効化

ここから「アクション」→「CORSの有効化」を選択。

「CORSを有効にして既存のCORSヘッダーを置換」をクリック。

「はい、既存の値を置き換えます」をクリック。

デプロイ

最後にAPIとして使用するためにデプロイします。

「アクション」→「APIのデプロイ」

これでLambda関数をAPIとして実行できます。

URLの確認は、左のメニューから「ステージ」→「先ほど指定したパス(本記事なら/example)」

任意のメソッドを選択し、ページ上部にURLが発行されているので、このURLを使えばAPIを実行できます。

curlコマンドでAPIリクエスト

最後は、以下のcurlコマンドを例にリクエストを行ってみてください。

curl -X POST -H "Content-Type: application/json" -d '{"message": "API request"}' https://example.com/dev/example

そこまで難しい作業ではなかったと思います。

ただ、忘れそうなので自分の備忘録も兼ねて記事として書きました。

また、APIのデプロイも時間が経つと忘れることもあるので、皆さんも忘れないように。

皆さんのお役にも立てれれば幸いです。

以上、「【AWS初心者でも分かりやすい】Lambdaで作成した関数をAPI Gatewayでアタッチする方法」でした!

Thank you for reading