在使用AWS Lambda为S3静态网站创建动态联系表时遇到添加目标的问题

问题描述

我一直在尝试使用AWS Lambda, Amazon API Gateway 和SES为我的网站创建电子邮件表单。

我遵循了blog中AWS所提供的指示。本文未提供添加目的地以及在mailFwd和目的地之间创建链接的说明。

此外,文章的一部分提到在策略下添加代码段,以便SES可以访问lambda函数。我找不到政策部分在哪里。

2

解决方法

应用程序流程如下:

JavaScript / HTML -> API Gateway -> AWS Lambda Function mailfwd -> SES

这意味着,您的前端将HTTP请求发送到API网关,API网关将HTTP事件转发到Lambda函数,而Lambda函数处理来自HTTP事件的邮件数据并将其转发到SES。

为避免任何混乱:SES既不调用也不访问Lambda函数,而只是相反。为了允许Lambda函数调用SES并发送邮件,您必须将IAM策略从博客文章(关于ses:SendMail的策略)复制到Lambda函数的IAM角色的策略。 (我承认博客文章的措词在这里有点令人困惑)。

除此之外,您无需在服务之间创建任何链接。您只需要告诉API网关,如果有HTTP请求进入,就调用哪个Lambda函数。在这种情况下,您可以按照本文中所述选择mailfwd函数:

  1. 选择新创建的资源,然后选择“创建方法”。选择一个POST。在这里,您将选择我们的AWS Lambda函数。为此,请从下拉列表中选择“ mailfwd ”。