gpt4 book ai didi

amazon-web-services - 将响应从 Lambda 返回给 API Gateway

转载 作者:行者123 更新时间:2023-12-04 10:36:12 24 4
gpt4 key购买 nike

我将 API Gateway-to-Lambda 用于一些微服务,但至少在一种情况下,该服务需要 20-30 秒才能完成,因此在这种情况下,我想将立即响应传回给客户端, 就像是:

 status: 200
message: {
progressId: 1234
}

然后允许 Lambda 函数继续运行(并定期更新客户端可访问的某个地方的“processId”。问题是,如果您调用 context.succeed()context.fail()context.done() 显然会停止 lambda 函数从进一步执行开始,但这是我知道将标准输出缓冲区刷新回 API 网关的唯一方法。

这让我想到了第二种方法,我还没有尝试解决(为了简单起见,我很想避免)它涉及 API 网关调用“响应者”Lambda 函数,然后异步触发微服务,然后立即响应API 网关。

我试图以下面的草图格式说明这两个选项。我很想听听有人是如何解决这个问题的。

two approaches

最佳答案

目前 API Gateway 要求 AWS Lambda 集成是同步的。如果您希望异步调用 Lambda 函数,您有两个选择:

  • 异步调用 Lambda,或者使用 AWS 集成调用 InvokeAsync 在 Lambda 上,或者使用 SNS 或 Kinesis 等中间服务来触发 Lambda 函数。
  • 您是 #2 图表,使用同步 Lambda 调用来启动异步调用。
  • 关于amazon-web-services - 将响应从 Lambda 返回给 API Gateway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33861072/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com