【问题标题】:Callback to an AWS Lambda function回调 AWS Lambda 函数
【发布时间】:2020-01-23 21:52:46
【问题描述】:

通过 AWS Lambda 函数 (API),我必须调用仅通过请求队列接受请求并回复回调 url 的服务。

AWS Lambda 函数接受同步和异步请求。

在同步请求的情况下,我想对发出调用的完全相同的 Lambda 实例进行回调。

是否可以获取回调到 AWS Lambda 函数的确切实例的 url?

如果不可能,当考虑到我无法控制异步服务时,处理来自 lambda 的同步请求的最佳方法是什么。

【问题讨论】:

  • 对此的简单回答是不,你不能回调同一个实例。

标签: amazon-web-services aws-lambda async-await


【解决方案1】:

不,这是不可能的。
Lambda 是无状态的,但您想在其中存储状态。

我必须调用仅通过请求队列接受请求的服务并回复回调 url

API Gateway 可以使用另一个 Lambda 函数处理此回调。

考虑到我无法控制异步服务时,处理来自 lambda 的同步请求的最佳方法是什么。

最好的方法取决于您的业务需求,我们不知道。
一般来说:

  1. 在客户端使用轮询。
  2. 将状态存储在数据库或缓存中。

【讨论】: