【问题标题】:How to get API gateway url in AWS lambda function?如何在 AWS lambda 函数中获取 API 网关 URL?
【发布时间】:2022-01-27 04:57:51
【问题描述】:

我有一个使用 API URL 调用 lambda 函数的场景。调用 lambda 函数后,我想要 lambda 函数中的特定 URL。

https://******.execute-api.eu-west-1.amazonaws.com/test/first

https://******.execute-api.eu-west-1.amazonaws.com/test/second

从这个 URL,我想要在 lambda 中命名为 first 或 second 的资源。这里的测试是我部署 API 的阶段名称。我创建了多个资源,我想更改 lambda 的行为。我怎么能这样做?任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    您可以根据 Lambda 函数的 events 变量中的值重构完整的 url。

    events['headers']['Host'] = '******.execute-api.eu-west-1.amazonaws.com'
    events['requestContext']['stage'] = 'test'
    events['path'] = '/first'
    

    总的来说,您可以通过将它们加在一起得到https://******.execute-api.eu-west-1.amazonaws.com/test/first

    'https://' + events['headers']['Host'] + '/' + events['requestContext']['stage'] + events['path']
    

    有关您可以从 events 变量中获得的其他信息的详细信息,请参阅 AWS 文档的 Lambda Proxy integration 部分。

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 2019-08-29
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 2018-05-30
      • 2018-09-11
      相关资源
      最近更新 更多