Amazon Web Service - 与前端客户端的RDS数据库通信

时间:2016-01-12 00:36:24

标签: amazon-web-services web amazon-s3 amazon-rds

为了简单起见,我正在使用Amazon S3服务托管单页静态网站,但我希望包含一个允许用户输入其电子邮件地址并提交的字段。然后应将此电子邮件添加到我的数据库中。我正在使用Amazon RDS服务中的MySQL数据库。此外,由于这是一个静态网页,我没有后端运行。

我想知道这种写入数据库的架构最佳方式是什么?我应该在前端添加javascript来将电子邮件写入数据库吗?这会将数据库访问密钥暴露给公众吗?我应该使用Amazon Lambda来写入数据库吗?

2 个答案:

答案 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>