我正在创建一个简单的 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);
}
});
};
我期望 AWS Lambda 测试返回一个没有错误的空对象。
在index.handler
中,index
指的是入口点文件名,handler
指的是入口点中的函数名。将由 Lambda 调用的点文件。
您收到 Runtime.HandlerNotFound
的原因是因为 Lambda 正在您的 index.js
中查找名为 handler
的函数,但是您正在导出 fn
。
将其更改为exports.handler=...
我是一名优秀的程序员,十分优秀!