如何让AWS与自托管网页进行交互?

时间:2016-12-22 14:55:30

标签: node.js aws-lambda

我使用node.js在我的树莓上运行了一个网页。网页有一个简单的登录,登录后我可以控制一些硬件。登录使用BCrypt和本地托管的mongoDB。

我使用以下代码访问特定页面,然后我可以发送POST命令。

app.get('/profile', isLoggedIn, function(req, res){
// do code (function call)
}

如何设置AWS以与我的服务器通信并可能访问函数调用?

如何在AWS中将登录信息存储到我的服务器?

/托马斯

1 个答案:

答案 0 :(得分:1)

根据你的标签,你只想使用aws lambda。

您在覆盆子PI上运行的节点应用中创建端点。确保启用cors,以便其他服务器也可以向您的raspberry服务器发出请求。

如果设置了端点,则可以使用aws lambda向服务器发出请求。 Lambdas是节点实例,因此您需要做的就是向您创建的端点发出节点http请求。现在触发你的lambda的原因取决于你想做什么,只需相应地设置事件。

如果你想在你的树莓派中调用一些函数,只需创建一个调用该函数的端点,然后aws lambda向该端点发出请求,因此aws会调用你的本地函数。

与登录相同。我假设您使用令牌来授权对您的服务器的请求。由于您是从lambda而不是客户端发出请求,因此您无法使用cookie /本地存储来保存令牌。您将不得不使用一些aws存储服务,rds / s3 / dynamodb /等。

如果您愿意更改当前的Web应用程序架构,我建议您考虑使用AWS IoT Platform。这似乎非常适合与AWS建立rasberry pi通信。

物联网平台说明:

  

AWS IoT是一个托管云平台,可让连接的设备轻松安全地与云应用程序和其他设备进行交互。 AWS IoT可以支持数十亿台设备和数万亿条消息,并可以可靠,安全地处理和路由这些消息到AWS端点和其他设备。

指导如何使用javascript在raspberry pi上进行设置: http://docs.aws.amazon.com/iot/latest/developerguide/iot-device-sdk-node.html