【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
Author And Source
この問題について(【AWS初心者でも分かりやすい】Lambdaで作成した関数をAPI Gatewayでアタッチする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/akki-memo/items/3c960ecae50eb9ad0faa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .