В настоящее время я пытаюсь протестировать AWS лямбда-функцию, где я пытаюсь импортировать DynamoDB. Однако, когда я пытаюсь проверить это, я получаю эту ошибку
{
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'dynamodb'\nRequire stack:\n- /var/task/index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js",
"trace": [
"Runtime.ImportModuleError: Error: Cannot find module 'dynamodb'",
"Require stack:",
"- /var/task/index.js",
"- /var/runtime/UserFunction.js",
"- /var/runtime/index.js",
" at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
" at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
" at Object.<anonymous> (/var/runtime/index.js:43:30)",
" at Module._compile (internal/modules/cjs/loader.js:1158:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)",
" at Module.load (internal/modules/cjs/loader.js:1002:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:901:14)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)",
" at internal/main/run_main_module.js:18:47"
]
}
Это всего лишь мой второй опыт работы с лямбда-функциями, и я все еще много о них узнаю. Вот мой код от лямбда веселья c
var doc = require('dynamodb-doc');
exports.handler = function(event, context, callback) {
if (event.eventType !=='syncTrigger'){
callback(JSON.stringify(event));
}
if (!(('name' in event.datasetRecords) && ('email' in event.datasetRecords))){
callback(JSON.stringify(event));
}
var name = event.datasetRecords.name.newValue;
var email = event.datasetRecords.email.newValue;
var shouldDeleteRecord = (event.datasetRecords.name.op === 'remove') || (event.datasetRecords.email.op === 'remove');
if (shouldDeleteRecord === true) {
// do not delete from dynamo DB
callback(null, event);
}
var db = new doc.DynamoDB();
var params = {'TableName' : 'User', 'Item': {'id' : event.identityId, 'username' : name, 'email_address': email}};
db.putItem(params,function(err, data) {
if (err) {
console.log('User insert failure', err);
callback(err);
} else {
console.log('User insert success', data);
callback(null, event);
}
});
}