首页 > 解决方案 > {Status: 202} 从代码运行 lambda

问题描述

这是我的 Javascript 代码:

    var params = {
        FunctionName: "theTable",
        InvokeArgs: JSON.stringify({ "name": "KirklandWA" })
    };
    lambda.invokeAsync(params, function (err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else {
            console.log(data);
        }
    });

这是在 Lambda 中:

exports.handler = async (event, context) => {
    return "theReturnedValue";
};

发生的事情是它没有返回theReturnedValue,而是返回

{状态:202} 状态:202

中的代码Lambda正在被调用,我在Cloudwatch.

标签: javascriptaws-lambda

解决方案


您正在调用invokeAsyncwhich 只会返回文档中所述的状态代码。改用invokewith InvocationType: "RequestResponse"_

参考: https ://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property

var lambda = new AWS.Lambda({});
var params = {
  FunctionName: "function_name", 
  InvocationType: "RequestResponse"
};
response = lambda.invoke(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

推荐阅读