【问题标题】:Difference between creating a method that accesses a lambda function in API Gateway and adding an API Gateway trigger to a lambda function在 API Gateway 中创建访问 lambda 函数的方法与将 API Gateway 触发器添加到 lambda 函数之间的区别
【发布时间】:2018-01-20 01:26:18
【问题描述】:

我目前正在学习如何使用 API Gateway 公开我的 lambda 函数。我按照here 记录的说明创建了一个 API 来触发我的测试 lambda 函数。这是我所做的总结。

  1. 首先,我使用 hello world 模板创建了一个测试 lambda 函数但没有添加任何触发器
  2. 然后我转到 API Gateway 控制台,使用 GET 方法添加了一个资源,该方法指定了 Lambda 函数的集成类型。我在那里输入了我的测试 lambda 函数名称。

好的,所以我在 API Gateway 控制台中测试了上面的解决方案。它工作正常,我只需要通过创建一个阶段来部署它就可以了。

但后来我注意到另一种使用 API Gateway 公开 lambda 的方式。也就是说,通过转到该 lambda 函数并向其添加 API 网关触发器。像下面这样:

它会要求输入我将使用的 API 的 API 名称。这个 API 与我在 API Gateway 控制台下创建的 API 有某种关联。

创建触发器后,测试 lambda 函数现在将有一个如下所示的触发器,并在其下公开一个 https URL。

然后,当我转到 API Gateway 控制台时,我注意到添加了一个新资源。

资源名称是我的测试 lambda 函数的名称,方法是 ANY,我不太明白这个的用途。

通过将上述内容与我之前创建的资源进行比较。上面那个没有 lambda 函数的 ARN 地址,而这个有

所以,我的问题是,

  1. 创建 API 并为其添加与 lambda 的集成与使用 API Gateway 中的现有 API 从 lambda 添加触发器有什么区别?

  2. 在lambda函数下暴露的https地址(在API网关添加触发器后)可以直接使用吗?

  3. 如果将触发器添加到 lambda 将起到相同的作用。那我还需要创建一个stage来部署我的api吗?

【问题讨论】:

    标签: aws-lambda aws-api-gateway


    【解决方案1】:
    1. 创建 API 并为其添加与 lambda 的集成与使用 API Gateway 中的现有 API 从 lambda 添加触发器有什么区别?

    这是创建 API Gateway-Lambda 集成的两种不同方法。如果您以相同的方式配置它们,则没有区别。

    1. 在lambda函数下暴露的https地址(在API网关添加触发后)可以直接使用吗?

    可以,可以直接使用。

    1. 如果将触发器添加到 lambda 将起到相同的作用。那我还需要创建一个stage来部署我的api吗?

    是的。 URL 来自舞台,因此您至少需要一个。

    【讨论】:

    • 您好,感谢您的回答。如果您在第 2 项中所说的是正确的。我可以直接使用公开的 https 地址。那我为什么还要像第 3 条所说的那样创建一个舞台呢?您在第 3 条中说 URL 来自舞台。但是当我添加触发器时,我已经有了 URL。
    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2017-05-27
    • 2017-09-05
    • 1970-01-01
    • 2020-12-16
    • 2020-05-28
    相关资源
    最近更新 更多