0

Heading ##I cannot get value that is "name" or "city" from another lambda function(Translator) to caller lambda function.

//////////////////////////// Caller Lambda Function : /// ////////////////////////////

var AWS = require('aws-sdk');
AWS.config.region = 'us-west-2';
var lambda = new AWS.Lambda();

exports.handler  = function(event, context)  {

var data =  {
 message : event.message
}

var datapayload = JSON.stringify(data);

var params = {
FunctionName: 'Translator', // the lambda function we are going to invoke
InvocationType: 'RequestResponse',
LogType: 'None',
Payload: datapayload
};


var pullResults;

lambda.invoke(params, function(err, data) {
if (err) {
  //context.fail(err);
  prompt(err);
} else {

   pullResults = JSON.parse(data.Payload);
   console.log(pullResults.name);
  // prompt(pullResults.isWinner);
  //context.succeed(data.Payload);

}


})

const response = {

    statusCode: 200,
    body: JSON.stringify("12"),
};
return response;


};

//////////////////////////// Callee Lambda Function : /// ////////////////////////////

  exports.handler = function(event, context) {
  console.log('Lambda B Received event:', JSON.stringify(event, null, 
  2));
  //context.succeed(event.message);
  var obj = { name : "123" , city : "New York" };

  const response = {

    statusCode: 200,
    body: JSON.stringify(obj)
  };
  return response;
  //var pullResults = JSON.parse(response.body);
  //console.log(pullResults.name);




  };
  • with the lambda use `callback parameter` or return a promise. change your lambda to `exports.handler = async function(event, context) {` – AZ_ May 15 '19 at 10:04
  • Similar solution in: https://stackoverflow.com/questions/35754766/nodejs-invoke-an-aws-lambda-function-from-within-another-lambda-function – Joenas May 15 '19 at 13:09

0 Answers0