TLDR:是否可以根据外部系统的websocket消息触发AWS Lambda或步进功能?
我正在构建一个同步服务,该服务连接到支持websocket的系统。我可以在步骤函数中使用计时器来定期唤醒并调用lambda函数来执行同步,但是我更愿意订阅websocket并仅在收到消息时执行同步。
AWS中有很多方法公开 websocket,但是我还没有找到一种方法来消费,缺少诸如带有自定义服务的EC2实例之类的东西。在上面运行。我正试图留在无服务器的生态系统中。
使用websocket似乎是一个相当普遍的要求;我忽略了什么吗?
答案 0 :(得分:0)
Lambda是短暂的。他们不能坐在那里等待网络套接字消息。
但是,我认为您可以使用“活动”任务。一旦步进功能进入该状态,它将等待。活动工作程序将在EC2实例上运行并订阅WebSocket。收到消息后,will poll the State Machine for an activity token并呼叫SendTaskSuccess。然后状态机将继续执行并调用执行同步的lambda。
答案 1 :(得分:0)
您可以使用AWS API网关服务和lambda。它支持Web套接字,并可根据要求触发lambda