通过 http 请求调用 AWS Lambda 函数

Invoke a AWS Lambda function by a http request

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

具体来说,我想使用 JSON

创建一个小的 API

是的,你可以。为此有一个 API:Invoke

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

或者您可以从以下屏幕进行设置

或者从 AWS API 网关 Web 控制台创建它。


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

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

Go to your lambda function and click the trigger section

自 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/

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

我使用 POSTMAN:

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

Link: Invoke Syntax

Lambda 现在有 built-in 个 HTTPS 端点,您可以使用它们来调用 lambda。 这可以在 高级设置 窗格中使用 启用功能 URL 选项启用:

您可以找到有关此功能的更多信息here