为了简单起见,我正在使用Amazon S3服务托管单页静态网站,但我希望包含一个允许用户输入其电子邮件地址并提交的字段。然后应将此电子邮件添加到我的数据库中。我正在使用Amazon RDS服务中的MySQL数据库。此外,由于这是一个静态网页,我没有后端运行。
我想知道这种写入数据库的架构最佳方式是什么?我应该在前端添加javascript来将电子邮件写入数据库吗?这会将数据库访问密钥暴露给公众吗?我应该使用Amazon Lambda来写入数据库吗?
答案 0 :(得分:1)
据我所知,javascript无法处理您对服务器端的请求。
您将需要服务器端组件来处理请求。
答案 1 :(得分:1)
<强> TLDR; 强> 有可能并且亚马逊提供Javascript SDK以在客户端上运行以连接到后端服务。 尽管有可能,我仍然建议使用lambda来完成这项工作
亚马逊在浏览器中为Javascript提供了SDK(doc),它有一些good examples可以用来运行DynamoDB
以下示例将项目放入DynamoDB表中,然后读取 它使用哈希键返回。
var table = new AWS.DynamoDB({params: {TableName: 'MY_TABLE'}}); var key = 'UNIQUE_KEY_ID'; // Write the item to the table var itemParams = {Item: {id: {S: key}, data: {S: 'data'}}}; table.putItem(itemParams, function() { // Read the item from the table table.getItem({Key: {id: {S: key}}}, function(err, data) { console.log(data.Item); // print the item data }); });
您可以在任何网站(甚至是在S3上运行的静态网站)使用这些Javascript方法,只需将库添加到您的网页
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.2.28.min.js"></script>