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

How to get AWS to interact with a self hosted webpage?

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

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

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

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

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

/托马斯

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

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

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

如果您想在 raspberry pi 中调用某些函数,只需创建一个调用该函数的端点,然后 aws lambda 向该端点发出请求,这样 aws 就会调用您的本地函数。

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

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

物联网平台说明:

AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices. AWS IoT can support billions of devices and trillions of messages, and can process and route those messages to AWS endpoints and to other devices reliably and securely.

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