2015-06-23 2 views
7

Я создал небольшую Лямбду AWS, которая отправляет электронное письмо с использованием SES. Я ищу, чтобы связать контактную форму с статического веб-сайта на эту лямбду.Запуск AWS Lambda из формы post

Возможно ли связаться с нами по почте напрямую на адрес лямбда? Я не использую рамки на стороне сервера и действительно хотел бы избежать этого, каковы мои варианты? Есть ли способ Javascript на стороне клиента для вызова лямбда?

+0

Добавление CloudFront как прокси-сервер для того, чтобы использовать один и тот же источник является еще одной альтернативой CORS: https://www.codeengine.com/articles/process-form-aws-api-gateway-lambda/ –

ответ

9

Wrote a blog post about this.

Это полностью выполнимо. Речь идет об использовании AWS Cognito для вызова этой функции.

  1. У вас есть функция лямбда на месте. Гранд.
  2. Создайте новую группу Cognito.
  3. Дайте независимым разрешениям группы Cognito для выполнения функции лямбда.
  4. Проведите все это в браузере. У меня есть пример кода здесь ... https://github.com/chadbaudoin/lambda-twilio/blob/master/index.html

«Сложный» часть убедившись, что IAM настройки для группы Cognito и лямбда-функции все настроено правильно. Я использовал этот учебник довольно сильно, но использовал cognito для выполнения, поэтому я не раскрывал ключи.

http://lg.io/2015/05/16/the-future-is-now-and-its-using-aws-lambda.html

+0

Вы хотели оставить эту строку в своем коде? // AWS.config.update ({ // region: 'us-east-1', // accessKeyId: 'something', // secretAccessKey: 'somethingelsethatlooksimportant' //}); –

+0

@greg_diesel, похоже, это недопустимый ключ доступа, так что это хорошо. – tedder42

+1

Работал как шарм, спасибо. Я не использовал группу Cognito, похоже, что пользователь AWS тоже делает трюк – Mikeb