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に値の受け渡しができる