我在AWS内部有2个lambda函数。AWS使用nodejs同步lambda到lambda的调用
函数A(FA)试图同步调用函数B(FB)。当FA尝试调用FB时,FA将超时。 FA永远不会到达FA内部的回调方法,并且FB没有在Cloudwatch中记录日志以表示它被调用。
我已经设置了两个功能在相同的区域,相同的角色,没有VPC(因为我读过VPC可能会导致问题,但已尝试在相同的VPC和子网设置以及没有运气)
用户角色具有下列权限相关联
- AWSLambdaExecute
- AWSLambdaBasicExecutionRole
- AWSLambdaRole
功能可按甲
exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'ap-southeast-2'
});
lambda.invoke({
FunctionName: 'async-receiver-test'
}, function(error, data) {
console.log('inside return function');
if (error) {
context.done('error', error);
}
if(data.Payload){
context.succeed(data.Payload);
}
});
};
功能B - (名称=>异步接收器检验)
exports.handler = (event, context, callback) => {
var eventItem = {id : 53148, name : "Let's get testing"};
callback(null, eventItem);
};
运行功能A内的控制台返回
REPORT的requestId:2db82333-f9c3- 11e6-8160-93bd7ddf5b19持续时间:3000.43 ms计费时间:3000 ms内存大小:128 MB使用的最大内存:25 MB
2017-02-23T12:25:39.363Z 2db82333-f9c3-11e6-8160-93bd7d df5b19任务超时3.00秒
控制台内部运行功能B(持续时间:14.36毫秒)之后
{ “ID”:53148, “名”: “让我们测试” }
所以从FB中我可以看出来这不是问题,但由于某些原因,从FA调用时没有响应。