0
votes

Attempting to use the RDSDataService in AWS Lambda as follows:

const AWS = require('aws-sdk');

AWS.config.update({
  region: 'us-east-1'
})
AWS.config.apiVersions = {
  rdsdataservice: '2018-08-01',
  // other service API versions
};

const rdsdataservice = new AWS.RDSDataService();

exports.handler = function(event, context, callback) {
  callback(null, 'ok')      
};

And receiving error:

"errorMessage": "AWS.RDSDataService is not a constructor", "errorType": "TypeError", "stackTrace": [ "Module._compile (module.js:652:30)", "Object.Module._extensions..js (module.js:663:10)", "Module.load (module.js:565:32)", "tryModuleLoad (module.js:505:12)", "Function.Module._load (module.js:497:3)", "Module.require (module.js:596:17)", "require (internal/module.js:11:18)"

Nodejs version: 8.10

Any idea what's going on? I've set region and API version

1
Have you tested it locally? I have and it works...just trying to troubleshoot what might be going on with youThales Minussi
What is the 'aws-sdk' package version?eL_Finito
Thank you @eL_Finito and Thales - I just tried creating a custom layer in aws-lambda and uploaded an archive containing node deps: "aws-sdk": "^2.4.27.0" and no longer receive this error.mdibound

1 Answers

3
votes

It have to works with the latest aws-sdk package.

You can check the package version with this command:

npm show aws-sdk version

You can check the released versions here: https://www.npmjs.com/package/aws-sdk