AWS API-Gateway+LambdaでPOSTメソッド発行するまで
AWS Console内のテストから接続テストをすればうまくいくが、外部からアクセスした際に「Internal server error」が返却された際に、修正した内容の備忘録です。
簡単に結論を書くと、以下2点が問題で起きてました。
・ルート直下にPOSTメソッドを追加していなかったこと
・APIをデプロイしていなかったこと
API-Gatewayの設定
上記両方へメソッドリクエストから「APIキーの必要性」をtrueにする。
リソースで「 / 配下」にPOSTメソッドを追加
「/任意の関数」にPOSTメソッドを追加(デフォルトでできる)
アクションボタンからAPIのデプロイを実行
接続テスト
以下curlコマンドで接続をテスト。出力結果はjq(JSON整形コマンド)で整形
curl -H "Content-Type: application/json" -X POST \
-d "{\"keyname\":\"value\"}" \
https://XXXXXXXX.execute-api.us-east-2.amazonaws.com/ステージ名/関数名 \
--header 'x-api-key:APIキー' | jq .
この記事が気に入ったらサポートをしてみませんか?