AWS Lambda http,我在哪里可以找到 URL?

Posted

技术标签:

【中文标题】AWS Lambda http,我在哪里可以找到 URL?【英文标题】:AWS Lambda http, where do I find the URL? 【发布时间】:2017-04-17 10:27:15 【问题描述】:

我对 AWS Lambda 还很陌生,但肯定能看到它的好处,并偶然发现了出色的框架 Serverless 来帮助我在 Lambda 上构建解决方案。

我开始使用AWS API Gateway 构建解决方案,但确实需要"internal" VPC API,而不是像 API GW 创建的面向公共 Internet 的 API。

我发现Servless 确实可以公开HTTP 端点,但我不知道这是如何完成的以及如何创建 URL。 当我从 Serverless 部署 Lambda 时,它会给我 URL,例如:

https://uxezd6ry8z.execute-api.eu-west-1.amazonaws.com/dev/ping

我希望能够为已经存在的Lambdas 找到(或创建)相同的 http 侦听器,所以我的问题是URL 是如何创建的,HTTP 侦听器实际部署在哪里?

【问题讨论】:

您不会自己创建网址。您创建 HTTP 方法,aws 为您提供这些方法的 url。您只需将方法与 lambda_handler 函数绑定即可。 docs.aws.amazon.com/lambda/latest/dg/… API 网关端点始终面向公共 Internet。 API Gateway 服务不提供私有 VPC 端点。 我知道 API GW 创建公共端点,这就是我想要避免的! @Mohammad Yusuf Ghazi,您写道“aws 为您提供了这些方法的网址”。这正是我的问题,在 Lambda 控制台中哪里可以找到该 URL? 【参考方案1】:

可以通过转到您的 lambda 函数,选择“触发器”选项卡和“添加触发器”,最后选择 API 网关来添加 http 侦听器 - 但正如其他人提到的那样,这确实会创建一个面向公众的 url。

【讨论】:

感谢它的帮助)【参考方案2】:

呃,我之前的 AWS 登录错误,所以 API GW 没有显示任何匹配的无服务器 API,这就是为什么我无法理解他们是如何做到的......

登录到托管无服务器结构的 AWS 账户后,我可以看到无服务器 HTTP 侦听器的 API GW GET API。

【讨论】:

这不是答案,上一篇是。 就我而言,我知道在哪里可以找到它,但我登录到另一个没有相同设置的 AWS 账户... 无论如何都没有答案,【参考方案3】:

您可能正在寻找调用网址, 1. 去https://console.aws.amazon.com/apigateway 2. 选择 api 链接(您已在 aws lambda 上部署)。 3. 在左侧面板中选择stages,然后 查看调用网址

【讨论】:

是的,谢谢,这就是我要找的东西,但由于我使用了错误的 AWS 账户,因此来自 Serverless 和控制台的账户不匹配让我感到困惑,我认为 Serverless 以某种方式创建了他们的自己的网址......因此我很困惑...... :) 谢谢你这是我需要的

以上是关于AWS Lambda http,我在哪里可以找到 URL?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Amazon Connect Lambda输入请求架构

我在哪里可以找到 AWS 服务的区域字符串列表,例如:s3

HTTP/2 推送 AWS API Gateway + Lambda

未找到 AWS API 网关

无法让phantomjs在aws lambda上工作

AWS CloudFormation:如何从另一个AWS账户为Lambda代码指定存储桶?