如何在 aws lambda 函数中使用 Socket.io
How to use Socket.io in aws lambda functions
我正在为我的 Web 应用程序使用带有 aws lambda 函数的节点 js。我想在我的网络应用程序中使用网络套接字。 socket.io 是 node.js 非常有名的库。
但我不确定如何在 aws lambda 中使用它。谁能告诉我怎么做,是否可以使用 lambda 函数?
不能将 socket.io 与 lambda 一起使用。 Lambda 对其执行时间有限制,因此不可能与客户端保持打开连接。
不过你可以做的是使用 SNS。 Lambdas 可以向 SNS 主题发布消息,并且可以使用 SNS 调用 lambdas。
存在解决此问题的方法 - 它是 WebSockets over MQTT in AWS IoT。这样您就可以从打开的套接字连接中执行您的 Lambda 函数。
目前,AWS API Gateway supports WebSockets。
不幸的是,我没有设法通过 socket.io 进行连接,因为它会生成带有附加参数的自定义 URL:/?EIO=3&transport=polling&sid=
但我发现了微型 WebSocket 包装器套接字 (used this tutorial),而且工作正常!
我正在为我的 Web 应用程序使用带有 aws lambda 函数的节点 js。我想在我的网络应用程序中使用网络套接字。 socket.io 是 node.js 非常有名的库。
但我不确定如何在 aws lambda 中使用它。谁能告诉我怎么做,是否可以使用 lambda 函数?
不能将 socket.io 与 lambda 一起使用。 Lambda 对其执行时间有限制,因此不可能与客户端保持打开连接。
不过你可以做的是使用 SNS。 Lambdas 可以向 SNS 主题发布消息,并且可以使用 SNS 调用 lambdas。
存在解决此问题的方法 - 它是 WebSockets over MQTT in AWS IoT。这样您就可以从打开的套接字连接中执行您的 Lambda 函数。
目前,AWS API Gateway supports WebSockets。
不幸的是,我没有设法通过 socket.io 进行连接,因为它会生成带有附加参数的自定义 URL:/?EIO=3&transport=polling&sid=
但我发现了微型 WebSocket 包装器套接字 (used this tutorial),而且工作正常!