如何解决AWS Lambda中的Runtime.HandlerNotFound错误

Cha*_*lix 1 node.js aws-lambda

我正在创建一个简单的API,我想创建一个存储输入数据的函数,但是我始终遇到Runtime.HandlerNotFound错误。

我检查了环境名称(index.js)与处理程序(index.handler)匹配

const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB({region: 'us-east-2', apiVersion: '2012-08-10'});

exports.fn = (event, context, callback) => {
    const params = {
        Item: {
            "UserId": {
                N: event.userId
            },
            "firstname": {
                S: event.firstname
            },
            "lastname": {
                S: event.lastname
            },
            "email": {
                S: event.email
            }
        },
        TableName: "contact-info"
    };
    dynamodb.putItem(params, function(err, data) {
        if (err) {
            console.log(err);
            callback(err);
        } else {
            console.log(data);
            callback(null, data);
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

我期望AWS Lambda测试返回没有错误的空对象。

Ram*_*jan 5

在中index.handlerindex引用入口点文件名,并handler引用入口点文件中由Lambda调用的函数名。

之所以会这样,Runtime.HandlerNotFound是因为Lambda正在寻找您所调用的函数handlerindex.js但您正在导出fn

更改为 exports.handler=...