API Gatewayデプロイ時にバックエンドがLambdaの時はhttpMethodはPOSTにする

API Gatewayデプロイ時にバックエンドがLambdaの時はhttpMethodはPOSTにする

Swaggerファイルを使ってAPI Gatewayデプロイするときに、x-amazon-apigateway-integrationがあります。

amazon-apigateway-integration:
uri: "arn:aws:apigateway:ap-northeast-1:lambda:path/2015-03-31/functions/arn:aws:lambda:ap-northeast-1:999999999999:function:get-func/invocations"
responses:
default:
statusCode: "200"
passthroughBehavior: "when_no_match"
httpMethod: "POST" # ここはPOSTにしておくこと
contentHandling: "CONVERT_TO_TEXT"
type: "aws_proxy"

view raw
gistfile1.txt
hosted with ❤ by GitHub

APIのメソッドがGETであっても、バックエンドがLambdaの場合は、httpMethodはPOSTにしておく必要があります。この部分をAPIのHTTPメソッドに合わせてPUTやDELETEなど、`POST以外を指定してしまうと、500エラー(403 Access Denied)が返ってきてしまいます。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/api-gateway-lambda-template-invoke-error/

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA