LambdaFunctionProps

class aws_cdk.aws_events_targets.LambdaFunctionProps(*, dead_letter_queue=None, max_event_age=None, retry_attempts=None, event=None)

Bases: TargetBaseProps

Customize the Lambda Event Target.

Parameters:
  • dead_letter_queue (Optional[IQueue]) – The SQS queue to be used as deadLetterQueue. Check out the considerations for using a dead-letter queue. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue

  • max_event_age (Optional[Duration]) – The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)

  • retry_attempts (Union[int, float, None]) – The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185

  • event (Optional[RuleTargetInput]) – The event to send to the Lambda. This will be the payload sent to the Lambda Function. Default: the entire EventBridge event

ExampleMetadata:

infused

Example:

import aws_cdk.aws_lambda as lambda_


fn = lambda_.Function(self, "MyFunc",
    runtime=lambda_.Runtime.NODEJS_LATEST,
    handler="index.handler",
    code=lambda_.Code.from_inline("exports.handler = handler.toString()")
)

rule = events.Rule(self, "rule",
    event_pattern=events.EventPattern(
        source=["aws.ec2"]
    )
)

queue = sqs.Queue(self, "Queue")

rule.add_target(targets.LambdaFunction(fn,
    dead_letter_queue=queue,  # Optional: add a dead letter queue
    max_event_age=Duration.hours(2),  # Optional: set the maxEventAge retry policy
    retry_attempts=2
))

Attributes

dead_letter_queue

//docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations>`_.

The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue.

Default:
  • no dead-letter queue

Type:

The SQS queue to be used as deadLetterQueue. Check out the `considerations for using a dead-letter queue <https

event

The event to send to the Lambda.

This will be the payload sent to the Lambda Function.

Default:

the entire EventBridge event

max_event_age

The maximum age of a request that Lambda sends to a function for processing.

Minimum value of 60. Maximum value of 86400.

Default:

Duration.hours(24)

retry_attempts

The maximum number of times to retry when the function returns an error.

Minimum value of 0. Maximum value of 185.

Default:

185