我在嘗試複製AWS文檔(link)中的縮略圖示例。我想在創建它時立即使用這個縮略圖。我希望context.done()回調就足夠了。回調給了我一個很好的迴應,但它爲時尚早。圖像大小並不總是可調整的,並且在存儲的s3存儲桶中可用。在調用lambda函數時,我特別將調用類型設置爲「Event」,以便在函數完成調整大小後回調應該返回。AWS Lambda回調節點js太快
鑑於文檔中的例子,等待完成lambda函數的propper方式是什麼?調用lambda函數在我的應用程序的功能,現在看起來像:
AWS.config.loadFromPath('./configs/config.json');
var lambda = new AWS.Lambda();
var params = {
FunctionName: 'resizeImage',
InvocationType: 'Event',
Payload: JSON.stringify({key: req.body.key})
};
lambda.invoke(params, function (err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log(data); // successful response
next();
}
});
是您的水桶在美國東部-1,和你看着[一致性模型(https://aws.amazon.com/s3/faqs/#What_data_consistency_model_does_Amazon_S3_employ)作爲說明? – James
我正在使用zone eu-west-1,並且一致性模型似乎不是問題所在,我的CloudWatch日誌顯示以毫秒爲單位完成lambda函數所需的正確時間,只有我的應用程序在此之前被調用。應用程序在500毫秒後獲得響應,而lambda函數需要大約2000毫秒才能完成。 – Menno