当前位置 : 主页 > 网页制作 > Nodejs >

node.js – AWS Lambda获取上下文消息

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在使用AWS控制台的测试功能: console.log('Loading event');exports.handler = function(event, context) { console.log('value1 = ' + event.key1); console.log('value2 = ' + event.key2); console.log('value3 = ' + event.key3); con
我正在使用AWS控制台的测试功能:

console.log('Loading event');

exports.handler = function(event, context) {
    console.log('value1 = ' + event.key1);
    console.log('value2 = ' + event.key2);
    console.log('value3 = ' + event.key3);
    context.done(null, 'Hello World');  // SUCCESS with message
};

并在nodejs中调用它,如下所示:

var params = {
  FunctionName: 'MY_FUNCTION_NAME', /* required */
  InvokeArgs: JSON.stringify({
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
  })
};

lambda.invokeAsync(params, function(err, data) {
  if (err) {
    // an error occurred
    console.log(err, err.stack);
    return cb(err);
  }
  // successful response
  console.log(data);
});

一切正常:

//Console Output
{ Status: 202 }

但我期待从context.done(null,’Message’)收到消息……

知道如何获取消息吗?

正如Eric所提到的,目前Lambda没有提供REST端点来运行该函数并返回其结果,但可能在未来.

现在,您最好的选择是使用像lambdaws这样的库,它为您包装函数部署和执行,并通过SQS队列处理返回结果.如果您想通过滚动自己的解决方案来获得更多控制权,那么这个过程非常简单:

>创建SQS队列>让Lambda函数将其结果写入此队列>在您的客户端中,轮询队列以获得结果

网友评论