使用 node.js 在 aws lambda 中检索函数参数值

Retrieving Function parameters values in aws lambda using node.js

我有 2 个 aws lambda 函数,即 "LambdaChain1" 和 "LambdaChain2" 我正在从 aws lambda 函数 "LambdaChain1" 调用 aws lambda 函数 "LambdaChain2",如下所示:

enter code here var start=new Date(); enter code hereconsole.log('Loading function');

exports.handler = function(event, context) {
    //console.log('Received event:', JSON.stringify(event, null, 2));
    event.Records.forEach(function(record) {
        // Kinesis data is base64 encoded so decode here
        var payload = new Buffer(record.kinesis.data, 'base64').toString('ascii');
        console.log('Decoded payload:', payload);
    });
    context.succeed("Successfully processed " + event.Records.length + " records.");
    var params = {
  FunctionName: 'LambdaChain2', /* required */
  InvokeArgs: start.getTime() /* required */
};
lambda.invokeAsync(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});
};

现在我们可以从代码中看到我已经将 "start.getTime()" 作为参数传递给 aws lambda 函数 "LambdaChain2"...

我想知道在 aws lambda 函数 LambdaChain2 中,我如何检索或使用我从 lambda 函数 "LambdaChain1" 传递给函数 "LambdaChain2" 的参数......你能请举个例子

看起来 invokeAsync 已被弃用,因此我在此示例中使用了 invoke,但它非常相似。

invoke参数中的Payload参数成为ChainFunc2中的event参数。

ChainFunc1

var AWS = require("aws-sdk");

exports.handler = function(event, context) {
    console.log('Received event:', JSON.stringify(event, null, 2));
    var params = {
        FunctionName: "ChainFunc2",
        InvocationType: "RequestResponse",
        Payload: JSON.stringify({"greeting": "Hello, Lambda"})
    };
    var lambdaClient = new AWS.Lambda();
    lambdaClient.invoke(params, function(err, data) {
        if (err) {
            console.log("invoke failed:" + err, err.stack);
            context.fail(err);
        } else {
            console.log("invoke succeeded", data);
            context.succeed(data);
        }
    });
};

ChainFunc2

exports.handler = function(event, context) {
    console.log("Received event:", JSON.stringify(event, null, 2));
    console.log("Greeting:", event.greeting);
    context.succeed({"message": "ChainFunc2 processed this", "payload": event});
};