56

是否可以通过 http 请求(GET 或 POST)直接调用 AWS Lambda 函数?如果没有,是否有通过 SNS 或 S3 的解决方法?因为想不出一个...

具体来说,我想使用 JSON 创建一个小 API

4

5 回答 5

49

AWS API Gateway 是通过 HTTP 公开 lambda 函数的唯一方法。如果您在创建新的 lambda 函数时使用 microservice-http-endpoint 蓝图,AWS lambda Web 控制台应该会自动为您创建一个。

在此处输入图像描述

或者您可以从以下屏幕进行设置 在此处输入图像描述

或者从 AWS API Gateway Web 控制台创建它。 在此处输入图像描述


您还可以探索使用客户端、移动或 Web 应用程序中的 SDK 按需调用它。更多信息在这里

于 2015-08-06T10:37:42.403 回答
22

是的,您可以使用 HTTP POST 方法调用 AWS Lambda 函数,为此您需要使用有效的 AWS IAM 凭证发出 sigv4 签名请求。

我使用邮递员对此进行了测试:

curl -X POST https://lambda.us-west-2.amazonaws.com/2015-03-31/functions/Function_NAME/invocations

链接: 调用语法

于 2019-09-05T16:00:21.710 回答
10

只需在 lambda 函数中添加一个触发器,您就可以在将生成的链接中发送 GET 或 POST 请求

转到您的 lambda 函数并单击触发器部分

创建触发器并将安全设置为

于 2017-08-23T06:56:46.050 回答
10

自 2018 年 11 月 28 日起,您可以使用 HTTP 侦听器创建面向 Internet 的 LoadBalancer,然后将负载均衡器配置为将 Lambda 作为其目标组。

创建负载均衡器后,您可以使用其 DNS 名称作为 HTTP 终端节点向 Lambda 发送请求。

更多详细信息:https ://aws.amazon.com/blogs/networking-and-content-delivery/lambda-functions-as-targets-for-application-load-balancers/

于 2019-06-02T18:17:48.133 回答
2

是的你可以。有一个 API:调用

于 2015-04-27T22:19:03.997 回答