![](/img/trans.png)
[英]AWS Lambda unable to invoke another AWS Lambda with No VPC - NodeJs
[英]AWS synchronous lambda to lambda invoke with nodejs
我在AWS中有2個lambda函數。
功能A(FA)嘗試同步調用功能B(FB)。 當FA嘗試呼叫FB時,FA將超時。 FA永遠不會到達FA里面的回調方法,FB沒有登錄雲計算表示它被調用。
我已將兩個功能設置為在同一區域,相同角色和沒有VPC中運行(因為我讀過VPC可能會導致問題,但是在相同的VPC和子網設置下也嘗試過沒有運氣)
用戶角色具有以下權限關聯
功能A.
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 - (name => async-receiver-test)
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-93bd7ddf5b19任務在3.00秒后超時
在控制台內運行功能B(持續時間:14.36 ms)
{“id”:53148,“name”:“讓我們來測試”}
因此,從我所知道的FB不是問題,但由於某種原因,從FA調用時沒有響應。
因此,通過將FA上的超時增加到10秒,調用將起作用。 我從來沒有想過FA需要比默認超時更長的時間來調用需要2ms才能運行的FB。 但是,它確實只需要更長的超時時間,因為第一次呼叫占用了3秒鍾,任何后續呼叫都在100ms范圍內運行。
當我添加VPC設置時仍然有問題,但現在我知道調用正在工作我可以解決這個問題,我相信這里已經解決了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.