大佬教程收集整理的这篇文章主要介绍了在node.js中的AWS lambda函数之间共享代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var callBACkPayload = {}; callBACkPayload.fooData = 'fooFromData'; callBACkPayload.fooFunction = function() {return 'fooFromFunction'; }; exports.handler = (event,context,callBACk) => { callBACk(null,callBACkPayload); };
当我在另一个AWS lambda函数中调用之前的AWS lambda函数时,如下所示:
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,callBACk) => { var params = {FunctionName: 'customcatonfigLambda'}; lambda.invoke(params,function(err,callBACkPayload) { if (err) { // do nothing } else { console.log('callBACkPayload:',JSON.Stringify(callBACkPayload,null,2)); } }); };
然后我只能看到callBACkPayload.fooData而不是callBACkPayload.fooFunction.
要兼容JSON.Stringify,你不能拥有任何功能.请参阅http://json.org/以查看什么是有效的JSON(仅限字符串,数字,对象,数组,true,false和null).
如果您希望在广义上在AWS Lambda函数之间共享代码,则必须在两者中都需要相同的Node模块,以便您可以为所有AWS Lamda处理程序提供一组通用函数.但是你不能在它们之间传递任意代码,因为它们无法在JSON.Stringify中存活.
作为测试,您可以尝试在浏览器中运行它:
var callBACkPayload = {}; callBACkPayload.fooData = 'fooFromData'; callBACkPayload.fooFunction = function() {return 'fooFromFunction'; }; alert(JSON.Stringify(callBACkPayload));
(见DEMO)
或节点中的这个:
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'; }"}
你理论上可以在另一端评估,但我不会真的推荐它.
以上是大佬教程为你收集整理的在node.js中的AWS lambda函数之间共享代码全部内容,希望文章能够帮你解决在node.js中的AWS lambda函数之间共享代码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。