Lambda HTTP-triggered functions

Official Content
This documentation is valid for:

Lambda HTTP-triggered functions are Lambda functions that can be invoked through an HTTP(s) endpoint remotely instead of a typical trigger type such as queue, EventBridge.

Below are GeneXus objects that can be deployed as HTTP Functions:

  1. HTTP services
    1. Procedures, Business Components, Data Providers exposed as Rest services.
    2. API objects.
  2. Mobile back-end services (Angular, iOS, Android)
    1. An entire back-end service can be deployed as a Lambda HTTP-triggered function. However, the recommeded way for deploying is  HTTP APIs using Lambda & API Gateway.

Deployment steps

First, read How to: create a GeneXus procedure to be deployed as an Azure Function or an AWS Lambda Function.

To deploy the function, use the deployment tool. See Deploy to AWS Lambda Function.

Properties Configuration

In the Deployment Unit, set the following properties as shown below:

  1. AWS Access Key ID/AWS Secret Access Key: Enter your AWS Access Key.
  2. AWS Default Region: Select your preferred region (localization) for your Deployment.
  3. Function Name: It's the name used to display the application.
  4. Trigger type: Select Http.
  5. IAM Execution Role ARN property: Enter the Amazon Resource Names (ARNs) path.

Sample

The configuration settings are as shown in the following image taken from an example:

LambdaHTTP-triggeredfunctions19082022

Note: You must have previously created an IAM Execution Role with the minimum permissions required for the function to execute.

AWS Configuration

From the AWS Console UI, you must attach the trigger type for the function to be executed automatically on a timed basis.

  1. Go to AWS Lambda Console UI.
  2. Select the AWS Lambda Function
  3. Go to Tab “Configuration” and select “Function URL.”
  4. Click on “Create function URL”.
    LambdaHTTP-triggeredfunctionsConfigure
  5. Click on Save

After this step is completed, AWS will show the endpoint URL. Typically, the endpoint has the following pattern:

https://cvbcvbcvbcvbcxvb.lambda-url.us-east-1.on.aws/