ProvisionedPollerConfig

class aws_cdk.aws_lambda_event_sources.ProvisionedPollerConfig(*, maximum_pollers, minimum_pollers, poller_group_name=None)

Bases: object

(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source.

Parameters:
  • maximum_pollers (Union[int, float]) – The maximum number of pollers that can be provisioned. Default: 200

  • minimum_pollers (Union[int, float]) – The minimum number of pollers that should be provisioned. Default: 1

  • poller_group_name (Optional[str]) – An optional identifier that groups multiple ESMs to share EPU capacity and reduce costs. ESMs with the same PollerGroupName share compute resources. Default: - not set, dedicated compute resource per event source.

ExampleMetadata:

infused

Example:

from aws_cdk.aws_lambda_event_sources import ManagedKafkaEventSource, KafkaDlq

# my_function: lambda.Function


# Your MSK cluster arn
cluster_arn = "arn:aws:kafka:us-east-1:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4"

# The Kafka topic you want to subscribe to
topic = "some-cool-topic"

# Create a Kafka DLQ destination
kafka_dlq = KafkaDlq("failure-topic")

my_function.add_event_source(ManagedKafkaEventSource(
    cluster_arn=cluster_arn,
    topic=topic,
    starting_position=lambda_.StartingPosition.TRIM_HORIZON,
    on_failure=kafka_dlq,
    provisioned_poller_config=ProvisionedPollerConfig(
        minimum_pollers=1,
        maximum_pollers=1
    )
))

Attributes

maximum_pollers

The maximum number of pollers that can be provisioned.

Default:

200

minimum_pollers

The minimum number of pollers that should be provisioned.

Default:

1

poller_group_name

An optional identifier that groups multiple ESMs to share EPU capacity and reduce costs.

ESMs with the same PollerGroupName share compute resources.

Default:
  • not set, dedicated compute resource per event source.