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 .

この記事が気に入ったらサポートをしてみませんか?