Highlight code between AWS lambda functions in node.js

It seems that it is not possible to bypass some code (containing data and functions) that is called as an AWS lambda function inside another AWS lambda function.

For example, take customConfigLambda:

var callbackPayload = {};

callbackPayload.fooData = 'fooFromData';
callbackPayload.fooFunction = function() {return 'fooFromFunction'; };

exports.handler = (event, context, callback) => {
    callback(null, callbackPayload);
};

When I call the previous AWS lambda function in another AWS lambda function, like here:

var AWS = require('aws-sdk');
AWS.config.update({accessKey: '123', secretAccessKey: 'abc', region: 'us-east-1' });
var lambda = new AWS.Lambda({region: 'us-east-1'});

exports.handler = (event, context, callback) => {
    var params = {FunctionName: 'customConfigLambda'};
    lambda.invoke(params, function(err, callbackPayload) {
        if (err) {
            // do nothing
        }
        else {
            console.log('callbackPayload:', JSON.stringify(callbackPayload, null, 2));
        }
    });
};

Then I see only callbackPayload.fooData, but not callbackPayload.fooFunction.

How can I use callbackPayload.fooFunction(s)lambda for several other AWMS functions?

+4
source share
2 answers

See the docs for using the callback parameter at:

result (callbackPayload ):

result - , . JSON.stringify . , .

JSON.stringify, . . http://json.org/, , JSON ( , , , , true, false null).

AWMS Lambda , require Node , , AWS Lamda. , JSON.stringify.

:

var callbackPayload = {};

callbackPayload.fooData = 'fooFromData';
callbackPayload.fooFunction = function() {return 'fooFromFunction'; };

alert(JSON.stringify(callbackPayload));

(. DEMO) Node:

var callbackPayload = {};

callbackPayload.fooData = 'fooFromData';
callbackPayload.fooFunction = function() {return 'fooFromFunction'; };

console.log(JSON.stringify(callbackPayload));

:

{"fooData":"fooFromData"}

.

, - :

callbackPayload.fooFunction
    = function() {return 'fooFromFunction'; }.toString();

JSON:

{"fooData":"fooFromData","fooFunction":"function () {return 'fooFromFunction'; }"}

eval , .

+1

AWS Reinvent 2018, Amazon -.

-, , .

, ZIP -. , , .

0

All Articles