aws-cdk-lib.aws_events_targets.LambdaFunction

class LambdaFunction

LanguageType name
.NETAmazon.CDK.AWS.Events.Targets.LambdaFunction
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awseventstargets#LambdaFunction
Javasoftware.amazon.awscdk.services.events.targets.LambdaFunction
Pythonaws_cdk.aws_events_targets.LambdaFunction
TypeScript (source)aws-cdk-lib » aws_events_targets » LambdaFunction

Implements IRuleTarget

Use an AWS Lambda function as an event rule target.

Example

import * as lambda from 'aws-cdk-lib/aws-lambda';

const fn = new lambda.Function(this, 'MyFunc', {
  runtime: lambda.Runtime.NODEJS_14_X,
  handler: 'index.handler',
  code: lambda.Code.fromInline(`exports.handler = handler.toString()`),
});

const rule = new events.Rule(this, 'rule', {
  eventPattern: {
    source: ["aws.ec2"],
  },
});

const queue = new sqs.Queue(this, 'Queue');

rule.addTarget(new targets.LambdaFunction(fn, {
  deadLetterQueue: queue, // Optional: add a dead letter queue
  maxEventAge: Duration.hours(2), // Optional: set the maxEventAge retry policy
  retryAttempts: 2, // Optional: set the max number of retry attempts
}));

Initializer

new LambdaFunction(handler: IFunction, props?: LambdaFunctionProps)

Parameters

  • handler IFunction
  • props LambdaFunctionProps

Methods

NameDescription
bind(rule, _id?)Returns a RuleTarget that can be used to trigger this Lambda as a result from an EventBridge event.

bind(rule, _id?)

public bind(rule: IRule, _id?: string): RuleTargetConfig

Parameters

  • rule IRule
  • _id string

Returns

  • RuleTargetConfig

Returns a RuleTarget that can be used to trigger this Lambda as a result from an EventBridge event.