node.js - 没有从 lambda 函数调用 aws ses.sendEmail
问题描述
我用 node.js 编写的 lambda 函数非常简单。当 dynamo db 中出现新条目时调用 Lambda,然后我想遍历每个条目并发送电子邮件。出于某种原因,我不明白为什么 ses.SendEmail 函数从未被调用。我在其中放置了日志,但日志中没有出现任何内容。我只是为了这个问题而混淆了电子邮件(我在aws上使用了实际正确的电子邮件)。
console.log('Loading function');
var aws = require('aws-sdk');
var ses = new aws.SES({region: 'eu-west-2'});
//var nodemailer = require('nodemailer');
exports.handler = async (event, context, callback) => {
//console.log('Received event:', JSON.stringify(event, null, 2));
event.Records.forEach((record) => {
if(record.eventName == 'INSERT')
{
console.log(record.eventID);
console.log(record.eventName);
console.log('DynamoDB Record: %j', record.dynamodb);
var params = {
Destination: {
ToAddresses: ["test@***.com"]
},
Message: {
Body: {
Text: { Data: "Test"
}
},
Subject: { Data: "Test Email"
}
},
Source: "info@***.com"
};
console.log("About to send email");
ses.sendEmail(params, function (err, data) {
console.log("inside email"); // not logging
if (err) {
console.log(err);
context.fail(err);
} else {
console.log(data);
context.succeed(event);
}
});
}
});
//return `Successfully processed ${event.Records.length} records.`;
};
解决方案
推荐阅读
- android - 如何删除或更改android EditText边框底线颜色
- node.js - MongooseServerSelectionError 连接超时后重试
- swift - Swift Charts如何在MacOS中使用鼠标悬停而不是鼠标单击来获取chartValue
- python - 通过分隔数字和字母来拆分列
- csv - Csv 下载 Straming in javascript
- singly-linked-list - 编写一个C程序,通过在末尾添加每个节点并在开头删除一个节点来创建单链表
- python - Python HttpServer 错误 405 错误:网关超时
- logstash - Grok 配置问题,试图改变字段类型 String => Date
- c - 为什么我的 rgb 到 uint32 预处理器宏给了我错误的颜色代码?
- php - 即使安装了 symfony 安全核心,仍存在未知功能“logout_path”