执行AWS lambda函数后通知客户端

时间:2019-03-09 19:53:52

标签: angular amazon-web-services aws-lambda

我有一个在前端使用AWS并在后端使用AWS的应用程序,我需要添加一些功能,这些功能将消耗来自外部源的数据。

我编写了一个Lambda函数,该函数计划每隔X分钟运行一次,并应执行以下步骤:

  1. 从外部来源检索数据
  2. 过程数据
  3. 将处理后的数据存储在自己的数据库中
  4. 通知客户端(前端)有新信息可用

问题在于如何执行步骤4。

我已经研究了一段时间,发现了一些可以使用的AWS服务,但似乎仍然没有一个完全匹配。

主要的是AWS AppSync,但这听起来像是一个过大的杀手,因为我只需要简单的通知即可。

也有一些AWS IOT服务,但这似乎不合时宜。

也有AWS Simple Notification Service,但AFAIK它仅用于通知其他服务(通过POST请求)。

对于此用例,这些服务中的任何一项是否合适?如果不是,那将是适合该服务的AWS服务?

2 个答案:

答案 0 :(得分:0)

您可以将Webhooks与AWS SNS结合使用,然后可以通过套接字实时进一步通知Webapp。

AWS文档:https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html

flow

答案 1 :(得分:0)

您的客户端可以通过几种方式获取数据:

拉-定期检查API端点是否有新记录。您的请求将超过必要,但易于实现。

推送-双向,具有套接字连接,该套接字将推送更新到您的客户端。从本质上讲,这就是AppSync订阅的内容,似乎有些过头,但是它比Amazon API Gateway https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/中的替代WebSocket API容易。