有没有一种方法可以响应Websocket消息来调用AWS Step Function或Lambda?

时间:2019-05-22 22:12:51

标签: amazon-web-services websocket aws-lambda aws-step-functions

TLDR:是否可以根据外部系统的websocket消息触发AWS Lambda或步进功能?

我正在构建一个同步服务,该服务连接到支持websocket的系统。我可以在步骤函数中使用计时器来定期唤醒并调用lambda函数来执行同步,但是我更愿意订阅websocket并仅在收到消息时执行同步。

AWS中有很多方法公开 websocket,但是我还没有找到一种方法来消费,缺少诸如带有自定义服务的EC2实例之类的东西。在上面运行。我正试图留在无服务器的生态系统中。

使用websocket似乎是一个相当普遍的要求;我忽略了什么吗?

2 个答案:

答案 0 :(得分:0)

Lambda是短暂的。他们不能坐在那里等待网络套接字消息。

但是,我认为您可以使用“活动”任务。一旦步进功能进入该状态,它将等待。活动工作程序将在EC2实例上运行并订阅WebSocket。收到消息后,will poll the State Machine for an activity token并呼叫SendTaskSuccess。然后状态机将继续执行并调用执行同步的lambda。

答案 1 :(得分:0)

您可以使用AWS API网关服务和lambda。它支持Web套接字,并可根据要求触发lambda