Hi,
I am trying to invoke a lambda function from nodejs API proxy. I am using aws-sdk npm library. The nodejs code works fine when executed standalone, but on edge i am getting the following error
{
"fault": {
"faultstring": "Script node executed prematurely: Script server.js exited with status code 0",
"detail": {
"errorcode": "scripts.node.runtime.ScriptExitedError"
}
}
}
Has anyone faced a similar challenge ?
My server.js looks like this
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var AWS = require('aws-sdk');
AWS.config.accessKeyId='xxxxxxxxxxxxxxxxxx';
AWS.config.secretAccessKey='xxxxxxxxx';
AWS.config.region = 'xxxxxxxxx';
var lambda = new AWS.Lambda();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.disable('etag');
app.post('/lambdatest', function(req, res) {
var params = {
FunctionName: 'myLambdaFunction',
InvocationType : 'RequestResponse',
Payload: JSON.stringify(
{
"body" : {
"key":req.body.key
}
})};
lambda.invoke(params, function(err, data) {
if (err)
{
res.status(500);
res.set('Content-Type', 'application/json');
res.send(err);
}
else
{
res.status(200);
res.set('Content-Type', 'application/json');
res.send(data.Payload);
}
});
});