从一个Lambda调用数组数据到另一个Lambda函数-Node.js

我必须使用Lambda函数

  1. fruitsData :在这里,我创建了一个 fruits 数组,并调用了 sendMail 函数。

  2. sendMail :将从 fruitsData 函数调用此函数,获取fruits数组,发送邮件,并将成功状态消息发送给 FruitsData

fruitsData

exports.handler = (event,context,callback) => {
    const fruits = ["Banana","Orange","Apple","Mango"];

    var params = {
        FunctionName: 'sendMail',invocationType: 'RequestResponse',LogType: 'Tail',Payload: fruits
    };

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

sendMail

exports.handler = (event,callback) => {
    var sendPromise = ses.sendEmail(params).promise();

    await sendPromise.then(function(data) {
        console.log("Email sent successfully");
        callback(null,"Email sent successfully");
    }).catch(
        function(err) {
            console.error(err,err.stack);
        });
}

我如何发送水果作为电子邮件并在 fruitsData 中获得成功消息。

ezeke123 回答:从一个Lambda调用数组数据到另一个Lambda函数-Node.js

确保您的lambda同时具有AWSLambdaExecuteAWSLambdaBasicExecutionRole策略。

Lambda fruitsData

Payload: fruits更改为Payload: JSON.stringify({ "fruits" : fruits })

Lambda 发送邮件

 const charset = 'UTF-8';
 exports.handler = async (event,context,callback) => {
    const message = JSON.stringify(event,null,2);
    const params = {
       Source: source,Destination: {
           ToAddresses: [recipient.email]
       },Message: {
           Subject: {
               Data: "Example",Charset: charset
           },Body: {
               Text: {
                   Data: message,Charset: charset
               },Html: {
                   Data: message,Charset: charset
               }
           }
       }
   };
   try {
       await ses.sendEmail(params).promise();
       callback(null,"Email sent successfully");
   }
   catch (ex) {
       console.log('Unhandled Exception',ex);
   }
};
本文链接:https://www.f2er.com/3168461.html

大家都在问