Calling AWS Lambda directly

0

Can I call an AWS Lambda function directly without using API GW, for example? I do not get any HTTP endpoint when I create a Lambda function but I get an ARN. Can I use ARN to directly call lambda function programmatically or I always have to go through a GW?

1 Answer
0
Accepted Answer

Hi - Yes you can directly call lambda function programmatically. You can invoke Lambda functions directly with the Lambda console, the Lambda API, the AWS SDK, the AWS CLI, and AWS toolkits. You can also configure other AWS services to invoke your function, or you can configure Lambda to read from a stream or queue and invoke your function.

Reference : https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html

On more sample example is https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-lambda.html . This section provides examples of programming with the Lambda service client by using the AWS SDK for Java

        String functionName = args[0];

    InvokeRequest invokeRequest = new InvokeRequest()
            .withFunctionName(functionName)
            .withPayload("{\n" +
                    " \"Hello \": \"Paris\",\n" +
                    " \"countryCode\": \"FR\"\n" +
                    "}");
    InvokeResult invokeResult = null;

    try {
        AWSLambda awsLambda = AWSLambdaClientBuilder.standard()
                .withCredentials(new ProfileCredentialsProvider())
                .withRegion(Regions.US_WEST_2).build();

        invokeResult = awsLambda.invoke(invokeRequest);

        String ans = new String(invokeResult.getPayload().array(), StandardCharsets.UTF_8);

        //write out the return value
        System.out.println(ans);

    } catch (ServiceException e) {
        System.out.println(e);
    }

    System.out.println(invokeResult.getStatusCode());

Hope this helps

profile pictureAWS
EXPERT
answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions