我可以从我的 lambda 函数触发 AWS AppSync 中的订阅事件吗?

Can I trigger a subscription event in AWS AppSync from my lambda function?

正如标题所说,我想通过我的代码触发订阅事件。

考虑一个用例,用户想要在 Internet 上搜索最便宜的航班。 Lambda 函数开始抓取提供网站的热门机票,并在每次发现时向应用程序发送一个订阅事件。这种情况可以用 AppSync 托管吗?

这应该可以通过 AWS AppSync 实现。想到的一个设计是:

  • 应用程序用户使用 Cognito 用户池进行身份验证。
  • 定义用于向订阅者发送事件的突变。将 Local Resolver 附加到此突变,因为您想要的唯一行为是传递通知。 notify(username: String!) 之类的东西应该可以。
  • 当 Lambda 准备好通知时,查找订阅者的用户名,然后通过该 AppSync 端点调用 notify

您还可以实施其他设计,但这是我想到的第一个合理的设计。