2017-10-08 33 views
0

我有一个相当简单的挑战。将表单POST发送到DynamoDB条目

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

等同地,会出现一个取消订阅按钮,需要从DynamoDB中删除单个电子邮件地址。

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

+0

为什么你想要完全避开API网关?您无法直接向Lambda发送HTTP请求,您必须为此使用API​​网关。您无法“将每个Lambda列为Cloudfront中的原点”,因为这需要您的Lambda函数公开需要使用API​​网关的HTTP API。 –

+0

我试图避免它,因为它对我的简单用例来说太过分了。这是和一小时或更多的配置。我建立了许多小型网站和应用程序,当我能够编写代码时,它很好,并且不会在系统管理中淹没。这对我来说是一个痛点。 – Costa

+0

你应该研究一些类似于为你管理这些东西的无服务器框架,而不是手动完成。 https://serverless.com/ –

回答

1

虽然API网关是简单和直接的方式,

这里,如果你想避免API网关你可以做什么。

网(表单提交) - > S3(事件触发) - > LAMBDA关于S3对象

详细信息将被移交给LAMBDA。您可以阅读表单对象并处理表单数据。

希望它有帮助。