Может быть глупый вопрос, но не смог найти четкого ответа в документах на стек / aws.Я предполагаю, что он должен быть встроен в лямбду.
Я использую Node10.x с модулем Axios в AWS Lambda.У меня есть успешная функция, которая проверяет путь DNS / EC2 / Endpoint и возвращает правильный ответ.Я хочу автоматизировать его, чтобы он проверял, скажем ... каждые 10 минут.Он сообщит мне в SES об ошибке и ничего не сделает, если ответ хороший.
Все функции работают, за исключением того, что у меня возникают проблемы при интеграции SES.В приведенном ниже операторе if я добавил этот код, console.log работает, так что это только часть SES, с которой у меня возникают проблемы.
exports.handler = async (event, context) => {
let aws = require('aws-sdk');
let ses = new aws.SES({
region: 'us-east-1'
});
let data = "document_contents=<?xml version=\"1.0\" encoding=\"UTF-8\"?><auth><user>fake</user><pass>info</pass></auth>";
var axios = require("axios");
var config = {
headers: { 'Content-Type': 'text/xml' },
};
let res = await axios.post('https://awebsiteidontwanttogiveout.com', data, config);
let eParams;
if (res.status === 200) {
console.log("Success");
eParams = {
Destination: {
ToAddresses: ["banana@apples.com"]
},
Message: {
Body: {
Text: {
Data: "Test SUCCESSFUL"
}
},
Subject: {Test SUCCESSFUL"
}
},
Source: "banana@apples.com"
};
ses.sendEmail(eParams);
}
if (res.status != 200) {
console.log("Failure");
eParams = {
Destination: {
ToAddresses: ["banana@apples.com"]
},
Message: {
Body: {
Text: {
Data: "Test FAIL"
}
},
Subject: {
Data: "Test FAIL"
}
},
Source: "banana@apples.com"
};
ses.sendEmail(eParams);
}
};
Я получаю время ожидания через 3 секунды.Я загрузил zip-файл на узел с зависимостями.мне нужно установить AWS SDK и загрузить его вместе с файлом?разве это не должно быть как-то встроено?я что-то упускаю в своем вызове SES?
спасибо