无法通过wscat触发AWS Lambda函数

时间:2019-10-04 07:07:12

标签: node.js aws-lambda aws-sdk

我正在使用index.js内部的一个函数实现来创建Lambda-aws

console.log('Loading the calculator function');

exports.handler = function(event, context, callback) {
    console.log('Received event:', JSON.stringify(event, null, 2));
    if (event.a === undefined || event.b === undefined || event.op === undefined) {
        callback("400 Invalid Input");
    }

    var res = {};
    res.a = Number(event.a);
    res.b = Number(event.b);
    res.op = event.op;

    if (isNaN(event.a) || isNaN(event.b)) {
        callback("400 Invalid Operand");
    }

    switch(event.op)
    {
        case "+":
        case "add":
            res.c = res.a + res.b;
            break;
        case "-":
        case "sub":
            res.c = res.a - res.b;
            break;
        case "*":
        case "mul":
            res.c = res.a * res.b;
            break;
        case "/":
        case "div":
            res.c = res.b===0 ? NaN : Number(event.a) / Number(event.b);
            break;
        default:
            callback("400 Invalid Operator");
            break;
    }
    callback(null, res);
};

但是当我使用wscat通过cmd触发此功能时,使用此json:

{ "a": "Number", "b": "Number", "op": "string", "c": "Number"}

您能帮助我使其正常工作吗? 另外,我尝试读取值a,b和c,但总是出现错误

{"message": "Internal server error", "connectionId":"BBkxxxxxxx=", "requestId":"BBkxxxxxx="}

我使用的功能与this example中的AWS使用的功能相同。那么如何解决该问题,以及如何从cmd或有角度的后端向Lambda函数发送参数?

0 个答案:

没有答案