claudiajs / claudia

Deploy Node.js projects to AWS Lambda and API Gateway easily
https://claudiajs.com
MIT License
3.8k stars 276 forks source link

Create lambda fails after creating apiGateway.setAcceptHeader #185

Closed Lalithkx closed 5 years ago

Lalithkx commented 5 years ago

I was trying out aws-serverless-express example but giving different name to the api. Using Claudia 5.4.0. lambda and gateway api are created but not deployed caudia.json created locally.

claudia create --name categoryapi --handler lambda.handler --deploy-proxy-api --region us-west-2 packaging files npm install -q --no-audit --production npm WARN aws-lambda-postgres@1.0.0 No description npm WARN aws-lambda-postgres@1.0.0 No repository field.

creating REST API apigateway.createResource parentId=a285qopabj pathPart={proxy+} restApiId=7f1nrkcreating REST API apigateway.setAcceptHeader { BadRequestException: Invalid request input at Object.extractError (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\protocol\json.js:51:27) at Request.extractError (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\protocol\rest_json.js:55:8) at Request.callListeners (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:106:20) at Request.emit (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:78:10) at Request.emit (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:683:14) at Request.transition (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:22:10) at AcceptorStateMachine.runTo (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\state_machine.js:14:12) at C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\state_machine.js:26:10 at Request. (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:38:9) at Request. (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:685:12) at Request.callListeners (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:116:18) at Request.emit (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:78:10) at Request.emit (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:683:14) at Request.transition (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:22:10) at AcceptorStateMachine.runTo (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\state_machine.js:14:12) at C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\state_machine.js:26:10 at Request. (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:38:9) at Request. (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\request.js:685:12) at Request.callListeners (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:116:18) at callNextListener (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\sequential_executor.js:96:12) at IncomingMessage.onEnd (C:\Users\lalit\AppData\Roaming\npm\node_modules\claudia\node_modules\aws-sdk\lib\event_listeners.js:299:13) at emitNone (events.js:111:20) message: 'Invalid request input', code: 'BadRequestException', time: 2019-03-22T01:24:39.197Z, requestId: '43f95653-4c41-11e9-9936-15b2988b05b9', statusCode: 400, retryable: false, retryDelay: 31.899308343311006 }

gojko commented 5 years ago

aws-sdk had a bug in a recent release, and this was caused by that. claudia 5.4.2 (on NPM now) fixes the version to use the version of aws-sdk with the fix.

Lalithkx commented 5 years ago

Fantastic Mr.gojko. It worked. Thanks for doing this on a such short notice.