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

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

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

x-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"

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

Lambda 統合を使用した API Gateway API の「Execution failed due to configuration」(設定エラーのため実行に失敗しました) エラーを修正する
AWS CloudFormation テンプレートまたは OpenAPI の定義を使用して、AWS Lambda 統合による Amazon API Gateway REST API を作成しました。API メソッドを使用して Lambda ...

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました