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 ...
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント