use*_*726 0 asynchronous amazon-web-services node.js aws-lambda
如何将作为事件调用的lambda的数据恢复到调用函数?
基本上我的lambda函数是:
exports.handler = function(event, context, callback) {
var data = {};
data.foo ='hello';
callback(null, data)
}
Run Code Online (Sandbox Code Playgroud)
并且调用函数如下所示:
var AWS = require('aws-sdk');
var lambda = new AWS.Lambda();
var params = {
FunctionName: 'SomeFunction',
InvocationType: 'Event'
};
lambda.invoke(params, function (err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log(JSON.stringify(data, null, 2));
}
});
Run Code Online (Sandbox Code Playgroud)
然而,我唯一从功能中回来的是
{
"StatusCode": 202,
"Payload": ""
}
Run Code Online (Sandbox Code Playgroud)
我认为回调参数的意思是允许调用函数在函数完成时获取数据.我使用它错了还是我问Lambda不可能的?
当您调用Lambda函数时,需要将to设置InvocationType为'RequestResponse'而不是'Event'.
使用该Event类型时,当AWS的服务器收到有效负载时,将调用您的回调.使用该RequestResponse类型时,只有在Lambda函数完成后才会调用回调,并且您将收到它提供给其回调的数据.使用该Event类型无法执行您想要的操作.
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |