ローカルでPython製のLambda関数をJSON渡しで起動するには

課題

テストのため、AWS Lambda Function URLを持ったLambda関数の起動をローカルでも行いたい。最終的にAWS Lambda本体で行うわけだが、その前の段階ではローカルを使えたほうがよい。しかしにJSONを渡す必要があるが、どのようにすればよいか。

解決

python-lambda-localを利用できた。

install

pip install python-lambda-local

usage

先にJSONファイルを作成し

{"body": "{\"name\": \"田中太郎\", \"email\": \"test@example.com\", \"title\": \"タイトル\", \"message\": \"内容内容内容内容内容\"}"}

下記のようなコマンドを実行する。

python-lambda-local -f lambda_handler -t 5 main.py send_test_mail.json

環境変数を指定する機能もあるらしい(未確認)。一通り実行して確かめる使い方ならこちらで十分そう。

参考