API Gateway と Lambda の入力マッピングについて
他の人の作った ApiGateway + Lambda があるのですがパラメータの渡し方がわかりません
統合リクエストが Lambda で
マッピングテンプレートが以下のようになっている場合
curl でどう叩けばこの Lambda が起動できますか
{
"yearA": "$input.params('year')",
"monthA": "$input.params('month')",
"dayA": "$input.params('day')",
"bodyA": $input.body
}
受け取り側の Lambda はこんな感じでコメントを見ると JSON で渡すように見えます
def lambda_handler(event, context):
# {'yearA': 2020, 'monthA': 8, 'dayA': 10, 'bodyA': {'user_id': 'jjkjkjkjuiuhjkhkjhkjh'}}
print(event)
curl -XPOST -v https://xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/staging/2019/11/12
だと Lambda には到達して yearA monthA dayA は取得できるんですが 'bodyA': {} となります
それ以外は以下のようなPOSTパラメータを試してみたんですが全て Unsupported Media Type となって Lambda に到達できません
-d '{"user_id":"test"}'
-d 'user_id=test'
-F '{"user_id":"test"}'
-F 'user_id=test'