gpt4 book ai didi

node.js - 从异步 AWS Lambda 返回数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:59 25 4
gpt4 key购买 nike

如何从作为事件调用的 lambda 获取调用函数的数据?

我拥有的 lambda 函数本质上是:

exports.handler = function(event, context, callback) {
var data = {};
data.foo ='hello';
callback(null, data)
}

调用函数如下所示:

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));
}
});

但是我从该函数中得到的唯一结果是

{
"StatusCode": 202,
"Payload": ""
}

我认为回调参数的目的是允许调用函数在函数完成时获取数据。我是否使用了错误的方法,或者我所要求的内容无法通过 Lambda 实现?

最佳答案

当您调用 Lambda 函数时,您需要将 InitationType 设置为 'RequestResponse' 而不是 'Event'

使用Event类型时,当AWS服务器收到有效负载时,将调用您的回调。使用 RequestResponse 类型时,仅在 Lambda 函数完成后才会调用您的回调,并且您将收到它提供给回调的数据。无法使用 Event 类型执行您想要的操作。

关于node.js - 从异步 AWS Lambda 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38513116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com