StartingPosition

class aws_cdk.aws_lambda.StartingPosition(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The position in the DynamoDB, Kinesis or MSK stream where AWS Lambda should start reading.

ExampleMetadata:

infused

Example:

from aws_cdk.aws_lambda_event_sources import ManagedKafkaEventSource

# 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"
my_function.add_event_source(ManagedKafkaEventSource(
    cluster_arn=cluster_arn,
    topic=topic,
    starting_position=lambda_.StartingPosition.TRIM_HORIZON,
    filters=[
        lambda_.FilterCriteria.filter({
            "string_equals": lambda_.FilterRule.is_equal("test")
        })
    ]
))

Attributes

AT_TIMESTAMP

Start reading from a position defined by a time stamp.

Only supported for Amazon Kinesis streams, otherwise an error will occur. If supplied, startingPositionTimestamp must also be set.

LATEST

Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

TRIM_HORIZON

Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.