【发布时间】:2019-01-20 13:10:04
【问题描述】:
所以我第一次学习 AWS 的东西(它是一个野兽),我正在尝试创建电子邮件模板,我有这个 lambda 函数:
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({ region: "us-east-1" });
exports.handler = async (event, context, callback) => {
// Create createTemplate params
var params = {
Template: {
TemplateName: "notification" /* required */,
HtmlPart: "HTML_CONTENT",
SubjectPart: "SUBJECT_LINE",
TextPart: "sending emails with aws lambda"
}
};
// Create the promise and SES service object
const templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
.createTemplate(params)
.promise();
// Handle promise's fulfilled/rejected states
templatePromise
.then((data) => {
console.log(data);
callback(null, JSON.stringify(data) );
// also tried callback(null, data);
}, (err) => {
console.error(err, err.stack);
callback(JSON.stringify(err) );
});
据我了解,这个函数应该返回一个模板吗?一个对象,什么?当我使用 lambda 测试功能时,我总是在请求响应中得到 null
编辑:它没有创建电子邮件模板,我检查了 SES 面板 - 电子邮件模板,它是空的
edit2:如果我尝试返回一个字符串,例如:callback(null, "some success message"); 它确实返回了该字符串,所以我猜测 SES 有问题,但这个函数正是我们在 AWS 文档中所拥有的,所以我假设它应该可以工作..
【问题讨论】:
标签: node.js amazon-web-services aws-lambda amazon-ses