見出し画像

AWS lambdaの小技集-トリガーでAPIGatewayを追加する-

この記事の対象となる人

・pythonの基本的なプログラムが読める
・AWSのアカウントを持ってる

前回のあらすじ

・Lambdaのテストでeventに値を引き渡す

今回の学習内容

・AWS API Getewayを設定
・GETリクエストを実行する

設定の仕方

・「トリガーを追加」をクリック
・プルダウンから「APIGateway」をクリック
・APIを「Create an API」を選択
・「REST API」
・セキュリティ「オープン」

元の画面に戻ります

・Designer画面から「API Gateway」をクリック
・API Gatewayの画面から「hello_python-API」をクリック
・画面が遷移してAPI Gatewayの画面に代わります。
・「アクション」から「メソッドの作成」
・プルダウンから「GET」を選択し「レ」をクリック
・結合タイプ「Lambda関数」
・lamba関数に「hello_python」と入力する
・「保存」をクリック
・総合リクエストの画面をクリック
・マッピングプレートから「マッピングプレート」を追加
・名前をapplication/jsonとする

{
"key1": "$input.params('key1')",
"key2": "$input.params('key2')"
}

・保存を押す

・「テスト」をクリック
・クエリ文字列に「key1=value1」と入力して
・「テスト」をクリック
・レスポンス本文に「"value1"」と表示されれば成功しています

デプロイする

・アクションから「APIのデプロイ」をクリック
・デプロイされるステージ「default」をクリック

・lambdaの画面に戻り「AWS Gateway」をクリックして
・APIエンドポイントのURLをクリックする
・表示されたタブのURLの末尾に「?key1=value1」と付け足して再読み込みをする

すると

"value1"と表示されます。

手元のpytyonで動作を確認する

def aws_api_get():
   url = APIのエンドポイント
   message = requests.get(url)
   print(message.text)

aws_api_get()

出力結果は

"value1"

おさらい

・APIエンドポイントの末尾に「?key1=value1」とつけることでlambdaに値の受け渡しができる

いいなと思ったら応援しよう!