Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 表格邮寄至DynamoDB条目_Amazon Web Services_Aws Lambda_Amazon Cloudfront - Fatal编程技术网

Amazon web services 表格邮寄至DynamoDB条目

Amazon web services 表格邮寄至DynamoDB条目,amazon-web-services,aws-lambda,amazon-cloudfront,Amazon Web Services,Aws Lambda,Amazon Cloudfront,我有一个相当简单的挑战 我有一个HTML表单,有一个字段和一个提交按钮。它只要求提供一个电子邮件地址,当用户点击提交按钮时,我想以某种方式将该电子邮件地址输入DynamoDB 同样,将有一个取消订阅按钮,需要从DynamoDB中删除一个电子邮件地址 最简单的方法是什么?我当前的设置包括Cloudfront发行版和静态前端。理想情况下,我可以避免API网关,只使用Lambda。但是,我没有看到将表单数据发布到Lambda的方法。我必须在Cloudfront中将每个Lambda列为一个源吗?而API

我有一个相当简单的挑战

我有一个HTML表单,有一个字段和一个提交按钮。它只要求提供一个电子邮件地址,当用户点击提交按钮时,我想以某种方式将该电子邮件地址输入DynamoDB

同样,将有一个取消订阅按钮,需要从DynamoDB中删除一个电子邮件地址


最简单的方法是什么?我当前的设置包括Cloudfront发行版和静态前端。理想情况下,我可以避免API网关,只使用Lambda。但是,我没有看到将表单数据发布到Lambda的方法。我必须在Cloudfront中将每个Lambda列为一个源吗?

而API网关是一种简单而直接的方法

如果您想避免使用API网关,下面是您可以做的事情

Web表单发布->S3事件触发器->Lambda

有关S3对象的详细信息将移交给Lambda。您可以读取表单对象并处理表单数据


希望能有所帮助。

为什么要避开API网关?您不能直接向Lambda发送HTTP请求,必须使用API网关。您不能将每个Lambda列为Cloudfront中的一个源,因为这需要您的Lambda函数公开HTTP API,这需要使用API网关。我试图避免它,因为对于我的简单用例来说,这太过了。它需要一个小时或更多的配置。我建立了很多小网站和应用程序,如果我能编写代码,而不是沉溺于系统管理,那就太好了。这对我来说是一个痛点。你应该研究一些类似于无服务器框架的东西,它可以为你管理这些东西,而不是全部手工操作。这是另一个非常好的框架,可以非常快速地使用API网关和Lambda构建API:我认为它比无服务器框架更容易使用,但它并不流行,所以你不会在那里找到那么多教程和东西。我不是大多数框架的粉丝。我最终把时间浪费在购买框架上,而不是创建我正试图创建的东西上。谢谢你的建议,马克。也许有一天我会意识到我的行为是奇怪的,是被误导的: