通过http请求调用AWS Lambda函数

时间:2015-04-26 11:49:16

标签: amazon-web-services aws-lambda

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

具体来说,我想使用JSON

创建一个小API

5 个答案:

答案 0 :(得分:29)

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

enter image description here

或者您可以从以下屏幕进行设置 enter image description here

或者从AWS API Gateway Web控制台创建它。 enter image description here

您还可以使用客户端,移动或网络应用中的SDK按需调用它。更多信息here

答案 1 :(得分:4)

是的,您可以使用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

链接:  Invoke Syntax

答案 2 :(得分:2)

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

Go to your lambda function and click the trigger section

Create a trigger and set the security to "open", if you want it to be publicly accessible. Else, configure based on your own needs

答案 3 :(得分:0)

截至2018年11月28日,您可以使用HTTP侦听器创建一个面向LoadBalancer的互联网, 然后将负载均衡器配置为将Lambda作为其目标组。

创建负载均衡器后,您可以将其DNS名称用作HTTP终结点,以将请求发送到Lambda。

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

答案 4 :(得分:-2)

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