概要
API GatewayとLambdaの最小構成でAPIをデプロイしてみます。
関数の準備
文字列を返す関数を作成しました。
正常に動作すると、’Success’という文字を返します。
lambda_function.py
def lambda_handler(event, context):
try:
result = {
"isBase64Encoded": False,
'statusCode': 200,
'headers': {
'Content-Type': 'application/json',
"Access-Control-Allow-Origin": '*'
},
'body': 'Success'
}
return result
except Exception as e:
print(e)
result = {
"isBase64Encoded": False,
'statusCode': 500,
'headers': {
'Content-Type': 'application/json',
"Access-Control-Allow-Origin": '*',
},
'body': 'Internal Server Error'
}
return result
こちらを利用して、Lambda関数を作成していきます。今回、この関数をzip化してlambdaにアップロードします。事前にzip化しておきます。
カレントディレクトリに移動し、zip化のコマンドを実行します。
コマンドは以下で、分かりやすいように同じディレクトリにzipファイルを作成しました。
実行すると、以下のファイルが作成されます。
こちらを後ほど利用します。
Lambda関数の作成
Lambdaのページにアクセスし、「関数を作成」をクリックします。
関数名、ランタイムを設定します。今回はそれぞれ「test_api」「Python 3.12」としています。
作成したzipファイルを「アップロード元」→「.zipファイル」からアップロードします。
コードがアップロードされました。
ランタイムの設定をします。今回は、lambda_function.pyのlambda_handlerを実行したいので、「ハンドラ」に設定します。下記のように設定されていればOKです。
API Gatewayの設定
簡易的に作成するため、下記のトリガー追加からlambdaとAPI Gatewayを連携します。まず、トリガー追加を押下します。
API Gatewayを選択します。
各種設定を行います。API名は好きな名前を入力してください。
LambdaとAPI Gatewayの連携ができました。
実際にリクエストを投げて、確認してみます。
Successの文字が返却されているので、成功です。
最後に
ここまでお読みいただき、ありがとうございました。本来はAPI keyの設定やパスの作り込みなどもっとできることはありますが、今回は簡易版ということでここまでにしておきます。
コメント