传递值并从另一个Lamdba函数触发Lamdba函数

时间:2018-02-08 14:39:39

标签: node.js amazon-web-services lambda aws-lambda zapier

我有一堆Lambda函数,它们都采用相同的值并以不同的方式处理值。我想做什么而不是将值发送到每个lambda并使其成为Zapier中的额外任务。我想将值发送到一个lambda,并且该函数将值发送到所有其他Lambda函数以进行处理。从而减少了Zapier必须执行的所有任务。

1 个答案:

答案 0 :(得分:1)

实际上你可以做的是让其中一个Lambda函数创建一个AWS SNS消息;它将处理您发布到它的内容并向正在侦听AWS SNS的其他Lambda函数发出消息

在Lambda 1的功能内部(发布消息的那个):

var sns = new AWS.SNS({
  region: 'us-east-1'
});

exports.handler = function(event, context, callback) {
  var params = {
    Message: <YOUR_MESSAGE>, /* required */
    Subject: 'STRING_VALUE',
    TopicArn: <SNS_TOPIC_ARN>
  };
  sns.publish(params, (err, data) => {
    if(err) console.log(err, err.stack);
  });
}

和另一个正在收听AWS SNS的Lambda函数:

exports.handler = function(event, context, callback) {
  var message = event.Records[0].Sns.Message; /* Here is your message */
}

使用它的最好的事情就是这样,你将把所有的消息放在队列中。