我正在创建一个简单的 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 正在您的 handler
中寻找名为 index.js
的函数,但您正在导出 fn
。
将其更改为 exports.handler=...
关于node.js - 如何解决 AWS Lambda 中的 Runtime.HandlerNotFound 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57342817/