Software AG Products 10.7 | Using API Gateway | Usage Scenarios | Custom Destination | How Do I Publish Data to an AWS Lambda Function using Custom Destination?
 
How Do I Publish Data to an AWS Lambda Function using Custom Destination?
This use case explains how to publish data to an AWS Lambda function.
The use case starts when you have data to be published and ends when you have successfully configured an AWS Lambda service as a destination to publish the data.
*Ensure you have an active Lambda function. For details on how to create an AWS Lambda function, see https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html
*Ensure you have configured AWS alias. For details on how to configure an AWS alias, see Configuring an AWS Alias.
*To publish data to an AWS Lambda function
1. Click APIs on the title navigation bar.
2. Expand the menu options icon , in the title bar, and select Administration.
3. Click Destinations.
4. Select Custom destinations from the left navigation pane.
The Custom destination page appears.
5. Provide the name of the custom destination in the Name field.
The name must be unique and must not be the name of any pre-defined API Gateway destinations such as Elasticsearch.
6. To configure conditions that determine the data to be published in the specified destination, perform the following steps in the Conditions section:
*Select one of the following options in the Condition type field:
*AND. To publish data that satisfies all your conditions.
*OR. To publish data that satisfies one of your conditions.
*Click + Add condition.
*Provide the following details for your condition:
*Variable. Name of the variable based on which you want to validate your condition. This field supports the variables that are available in the Variable framework. For details on the list of variables, see Variable Framework.
*Operator. The operator to use to relate variable and the value.
*Value. The value of the variable that must be matched to satisfy the condition.
*Click Add.
The condition appears in the grid.
Repeat this process to add the required number of conditions. Click on a condition to edit it and click next to a condition to delete it.
7. Select AWS Lambda in the Type field.
8. Provide the following information in the AWS Lambda section, as required:
Property
Description
Function Name
Provide the AWS Lambda function name to which you want to publish the configured data.
Invocation Type
Specify the AWS invocation type, asynchronous or synchronous.
Available options are:
*RequestResponse (synchronous type)
*Event (asynchronous type)
AWS Alias
Provide the AWS alias configured for the AWS account.
9. Configure the custom properties of the custom extension as required.
For details about the custom extension properties and their descriptions, see Custom Extension Properties.
10. From the Events section, select the data that you want to publish to the configured destination. The options available are:
*Event types. Type of events to publish to the specified destination. The available event types are:
*Error. Occurs each time an API invocation results in an error.
*Lifecycle. Occurs each time API Gateway is started or shut down.
*Policy violation. Occurs each time an API invocation violates the policy enforcement that was set for the API.
*Performance metrics data. To publish to the specified destination.
In the Publish interval of performance metrics data field, type a time interval (in minutes) to specify how often API Gateway must publish performance metrics. Provide a value from 1 through 60. The default is 60 minutes.
*Events. API Gateway modules for which the audit logs to publish to the specified destination.
11. Click Add.
The custom destination is created successfully and appears in the Custom destinations page. The configured events are published to the specified destination.
Note:
To edit a custom destination, you can click the required custom destination, make changes and click Update. To delete a custom destination, click next to required custom destination. You cannot delete a custom destination that is associated with an API.