AWS API Gateway: 强制返回200 OK 的响应,并将数据传递给后端(使用Python 3.9 Lambda)进行处理?

0

【以下的问题经过翻译处理】 我遇到了一个问题,即如何正确处理第三方(Webhook)的POST请求,该请求期望在收到请求后立即收到200 OK的响应,否则会重发。

我过去曾处理过这样的问题,其中包括一个由API指向的lambda,将消息推送到队列系统(SQS)中,并在完成后返回200 OK。直到需要运行的后端处理完成后,它们就可以安心地处理业务。在API网关层或直接在lambda中,是否有办法强制执行状态响应,而无需等待lambda 运行完成后 返回响应?这是否只是将响应消息与后端解耦的标准?

1 Antwort
0

【以下的回答经过翻译处理】 您可以考虑使用以下设计模式:

  1. 对于API Gateway,可以使用AWS集成目标,使其直接将消息发送到SQS队列,并从该队列触发Lambda函数进行消息处理。例如,您可以查看Amazon API Gateway到SQS到Lambda模式。
  2. 您可以利用Lambda的异步调用功能,通过API Gateway的Lambda集成来设置后端Lambda函数的异步调用,具体请参见此处:设置后端Lambda函数的异步调用

选项1和2之间的区别在于,选项2的SQS队列由Lambda运行时内部管理,因此您对其配置的控制较少。

这样,API Gateway将在Lambda执行完成前响应调用者。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen