我在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調用時沒有響應。