Я наконец решил попробовать AWS lambda, чтобы создать классную функцию без сервера.Для первого я решил создать простую функцию отправки почты.Я планирую отправлять ему данные по почте, тогда моя функция будет использовать их для отправки почты.Полезно знать, что моя лямбда должна быть доступна с моего веб-сайта, я планирую вызывать ее из моей логики внешнего интерфейса.
К сожалению, я сталкиваюсь с проблемой политики CORS, когда пытаюсь запустить свою лямбда-функциюс моего сайта.Тем не менее, все работает нормально, когда я запускаю его из CLI, с помощью cURL.
Я создал свою лямбда-функцию с помощью шаблона API-Gateway.Я разработчик внешнего интерфейса, я знаю некоторые традиционные сервисы AWS, но я впервые попытался использовать лямбда-функцию, поэтому я полагаю, что у меня проблема с моей конфигурацией.
Я хотел бы поделиться сВы моя текущая лямбда-конфигурация.Вы можете найти его ниже:
Здесь мой лямбда-дизайн
Здесь моя конфигурация API-шлюза
Здесь мои ответы шлюза
Кроме того, ниже вы можете найти мой лямбда-код и ошибку, возникающую каждый раз, когда я пытался вызвать свою лямбду.
const getRes = (status, body) => {
return JSON.stringify({
statusCode: status,
headers: {
"Content-Type": "text/plain",
"Access-Control-Allow-Origin" : "*"
},
body,
});
};
exports.handler = async (event, context, callback) => {
if (event.body !== null && event.body !== undefined) {
/*
** SEND MAIL WITH BODY PARAMS
*/
const response = getRes(200, 'Mail sent');
callback(null, response);
} else {
const response = getRes(500, 'Params missed');
callback(null, response);
}
};
Доступ к XMLHttpRequest в «XXX» из источника «YYY» был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Я пытался понять, почему я продолжаю сталкиваться с этой проблемой без успеха.Я полагаю, что у меня проблема с настройкой API-шлюза, но я не смог ее найти.
У вас есть идея?
Спасибо!