claudiajs / claudia

Deploy Node.js projects to AWS Lambda and API Gateway easily

Home Page:https://claudiajs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

get error when create function in api module

rickwxc opened this issue · comments

  • Expected behaviour: create function in api module

  • What actually happens: got error

claudia -v: 5.4.0
mac: mojave 10.14.1

claudia create --region ap-southeast-2 --api-module api --role data-sync-executor

packaging files npm install -q --no-audit --production
npm WARN escape-gigya-data-sync@1.0.0 No description
npm WARN escape-gigya-data-sync@1.0.0 No repository field.

creating REST API apigateway.setAcceptHeader
{ BadRequestException: Invalid request input
at Object.extractError (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/protocol/json.js:51:27)
at Request.extractError (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)
at Request.callListeners (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/usr/local/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:685:12)
message: 'Invalid request input',
code: 'BadRequestException',
time: 2019-03-21T23:25:00.745Z,
requestId: '8c5da8a2-4c30-11e9-ab6c-35fc4bed160a',
statusCode: 400,
retryable: false,
retryDelay: 89.18046136663631 }

my api.js

const Api = require('claudia-api-builder')
const api = new Api()

api.get('/echo', function (request) {
return 'ok'
});

module.exports = api

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.

Great thanks, all works now!