定期在Lambda AWS中安排推送通知

时间:2020-07-06 09:11:43

标签: node.js reactjs amazon-web-services aws-lambda push-notification

我想定期从后端触发推送通知。最好的方法是什么?我在想有一个cron表达式,我将每分钟安排一次。我正在使用股票应用,我需要向用户发送有关股票上升或下降的通知。我已将前端和后端与通知结合在一起,该通知是客户端触发的。但是我需要从后端触发它,而客户端不会每秒触发它,因为它将影响性能。

我的应用程序处于反应,节点和AWS lambda中。

4 个答案:

答案 0 :(得分:2)

您可以使用CloudWatch Events安排AWS Lambda执行: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html

答案 1 :(得分:2)

如果Lambda事件不需要后端的信息(即可以进行自己的查找),则可以安排它使用schedule expression通过CloudWatch Event每分钟调用一次。

如果但是,Lambda要求现有脚本按原样运行,但按计划,那么您将考虑使用cron。

答案 2 :(得分:2)

如果您具有无服务器架构,则应考虑使用SNS。您可以设置Lambda函数以跟踪SNS事件作为回调。

如果您在NodeJS中确实有一些后端服务器,则可能要使用WebSocket连接。在这种情况下,间隔或CRON作业都可以。

答案 3 :(得分:0)

一个有趣的选择是使用Cloud Watch Events将数据推送到SNS中。

IOT Core通过SDK订阅和收听相同的SNS主题。有关以下帖子的更多详细信息。

“ SDK会自动管理WebSocket连接,并处理Web应用程序中的许多常见连接问题。消息使用主题进行分类,主题是定义消息通道的字符串。

AWS IoT Core服务管理后端发布者和前端订阅者之间的广播。这将启用扇出功能,当多个订户正在收听同一主题时,会出现扇出功能。您可以使用此机制将消息广播到数千个前端设备。对于Web应用程序集成,与使用Amazon SNS相比,这是实现发布-订阅的首选方法。”

https://aws.amazon.com/blogs/compute/managing-backend-requests-and-frontend-notifications-in-serverless-web-apps/