Invoke a AWS Lambda function by a http request
Is it possible to invoke a AWS Lambda function directly by a http request (either GET or POST)? If not, is there a workaround going through SNS or S3? Because I can't think of one...
Specifically, I would like to create a small API using JSON
The AWS API Gateway is the only way to expose your lambda function over HTTP. The AWS lambda web console should create one automatically for you if you use the microservice-http-endpoint blueprint when creating a new lambda function.
Or you can set it from the following screen
Or create it from the AWS API Gateway web console.
You may also explore invoking it on demand using the SDK in your client, mobile or web app. More information here.
Yes, you can invoke AWS Lambda function using HTTP POST method, for this you need to make sigv4 signed request with valid AWS IAM credentials.
I tested this using POSTMAN:
curl -X POST https://lambda.us-west-2.amazonaws.com/2015-03-31/functions/Function_NAME/invocations
Link: Invoke Syntax