【问题标题】:How does AWS lambda get triggered by an api request?api 请求如何触发 AWS lambda?
【发布时间】:2019-08-10 02:51:37
【问题描述】:

我假设 lambda 就像是完整 api 请求中缺失的一块拼图。因此,您创建了 apigateway,然后编写了 lambda 函数,该函数弥合了接受请求和将 lambda 函数的输出作为 http 响应返回之间的差距。

我已经成功地遵循了有关如何设置触发 AWS lambda 执行某些操作的 API 网关的指南,但我仍然不太了解正在执行的操作。

aws apigateway 如何调用函数def handler(event, context):?它是如何触发的,handler的输出又是如何发回的?

【问题讨论】:

  • 如果回答涵盖了您的问题,请考虑将下面的答案标记为“绿色”。

标签: amazon-web-services aws-lambda aws-sdk


【解决方案1】:

您不需要“中间”的 Lambda。使用 API Gateway 中的 Lambda 代理集成,您可以在目标 Lambda event 中接收有关请求的完整信息(端点 URL、查询参数等)。

查看following Tutorial 如何设置 Lambda 代理与 API 网关的集成。

您应该关心的棘手的事情是您将从 lambda_handler 返回的响应的结构。 See the requirements here.

回答“这是如何发生的”的问题...简而言之,当 HTTP 请求到达您的 API 端点时,它会自动路由到映射的 Lambda 函数。在幕后为函数生成了一个新容器,您的请求将发送至lambda_handlerevent。默认情况下,API Gateway 还会在其自身前面创建一个 CloudFront 分配,以更有效地处理您的请求。一旦您的 Lambda 返回响应,API Gateway 就会解析它并从中构造 HTTP 响应。好消息是所有这些都由 AWS 管理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 2019-03-25
    相关资源
    最近更新 更多