[英]AWS lambda TypeError: Cannot read property 'toString' of undefined
[英]AWS Lambda: "Cannot read property '0' of undefined"
這是我的 AWS Lambda 函數。 但是,在運行它時,我得到了Cannot read property '0' of undefined
。
const AWS = require('aws-sdk');
const SES = new AWS.SES();
const FROM_EMAIL_ADDRESS = process.env.FROM_EMAIL_ADDRESS;
const TO_EMAIL_ADDRESS = process.env.TO_EMAIL_ADDRESS;
function sendEmailToMe(formData) {
const emailParams = {
Source: FROM_EMAIL_ADDRESS,
ReplyToAddresses: ['keshijemi478@gmail.com'],
Destination: {
ToAddresses: [TO_EMAIL_ADDRESS],
},
Message: {
Body: {
Text: {
Charset: 'UTF-8',
Data: `Thanks for subscribe: ${formData.message}\n\n Name: ${formData.name}\n Email: ${formData.email}\n I will reply as soon as possible`,
},
},
Subject: {
Charset: 'UTF-8',
Data: 'New message from your_site.com',
},
},
};
console.log(emailParams);
const promise = SES.sendEmail(emailParams).promise();
console.log(promise);
return promise;
}
exports.handler = async(event) => {
console.log('SendEmail called');
const dynamodb = event.Records[0].dynamodb;
console.log(dynamodb);
const formData = {
name : dynamodb.NewImage.name.S,
message : dynamodb.NewImage.message.S,
email : dynamodb.NewImage.email.S
};
console.log(formData);
return sendEmailToMe(formData).then(data => {
console.log(data);
}).catch(error => {
console.log(error);
});
};
您的代碼似乎是一個 AWS Lambda 函數。
當 Lambda 函數被調用時,信息通過event
參數傳遞給函數。 通過傳遞的信息event
的變化取決於功能是如何引發的。 例如,如果函數由 Amazon S3 事件觸發,則 S3 在event
參數中提供信息,描述導致事件被觸發的對象。
但是,如果你觸發該事件“手動”,那么亞馬遜S3是不涉及與event
參數只包含的信息,您提供的,當你調用函數。
如果您正在 AWS Lambda 管理控制台中測試該函數,您可以通過“配置測試”選項提供一個event
。 此配置中提供的事件隨后將傳遞給正在測試的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.