😇
aws-lambda-powertools-pythonという存在を知った
背景
Amazon API Gateway + AWS Lambdaのサーバーレス構成のAPIにおけるLambdaハンドラーで、入力パラメーターをチェックする例です。
うーん、これは直感的にイケてないですね。
def lambda_handler(event, context):
# bodyに含まれるパラメーターチェック
json_body = json.loads(event['body'])
if 'input_parameter1' not in json_body:
return {'statusCode': 400, 'body': 'missing key input_parameter1'}
input_parameter1 = json_body['input_parameter1']
if 'input_parameter2' not in json_body:
return {'statusCode': 400, 'body': 'missing key input_parameter2'}
input_parameter2 = json_body['input_parameter2']
if 'input_parameter3' not in json_body:
return {'statusCode': 400, 'body': 'missing key input_parameter3'}
input_parameter3 = json_body['input_parameter3']
調べてみた
You will learn how to process your event input in a safe and resilient manner so you can focus on the things that matter the most, your business logic.
(イベント入力を安全かつ回復力のある方法で処理する方法を学び、最も重要なことであるビジネス ロジックに集中できるようにします。)
aws_lambda_powertools!?
強そうな名前ですが、機能も強く、バリデーションモジュールなど様々な機能を有するライブラリで、Lambda作成時に役立つようです。
機能詳細については、以下の入門記事にわかりやすく説明されています。
Discussion