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

75

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

我开始使用 AWS API Gateway 构建解决方案,但确实需要 "内部" 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 监听器部署在哪里?


你不需要自己创建URL。你创建HTTP方法,AWS会为这些方法提供URL。你只需要将方法与lambda_handler函数绑定即可。 - Mohammad Yusuf
http://docs.aws.amazon.com/lambda/latest/dg/get-started-invoke-manually.html - Mohammad Yusuf
API网关端点始终是公共的Internet面向。API网关服务不提供私有VPC端点。 - Mark B
我知道API GW会创建公共端点,这正是我想要避免的! - Anders
@Mohammad Yusuf Ghazi,您写道“aws为这些方法提供了URLs”。 这正是我的问题,我在Lambda控制台中该如何找到那个URL呢? - Anders
显示剩余3条评论
3个回答

50

是的,谢谢,这正是我在寻找的内容,但由于我在错误的AWS帐户中(来自Serverless),控制台与之不匹配,让我感到困惑,我以为Serverless某种方式创建了他们自己的URL...因此我感到困惑... :) - Anders
1
谢谢,这正是我需要的。 - Faris Rayhan

29

可以通过转到Lambda函数,选择“触发器”选项卡和“添加触发器”,最后选择API Gateway来添加HTTP侦听器 - 但正如其他人提到的,这样会创建一个面向公众的URL。

将API Gateway添加为触发器将为您提供现有Lambda的URL


在“配置”选项卡上,可以创建一个不需要 API 网关即可工作的“功能 URL”。这些 URL 可以进行身份验证或者不进行身份验证,但我认为它们仍然是公开的。 - NeilG

-4

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

一旦我登录了托管无服务器结构的AWS账户,我就可以看到Serverless HTTP监听器的API GW GET API。


19
这不是答案,之前的帖子才是。 - Stephane
1
在我的情况下,我知道在哪里寻找它,但我登录了另一个没有相同设置的AWS帐户... - Anders
无论如何都不是一个答案。 - titus
即使关于如何找到API Gateway URL的普遍答案也不是一个好答案,因为问题提到的是内部URL,特别是不是API Gateway URL。 - NeilG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接