StartingPosition

class aws_cdk.aws_lambda.StartingPosition(value)

Bases: Enum

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

ExampleMetadata:

infused

Example:

from aws_cdk.aws_secretsmanager import Secret
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"

# The secret that allows access to your MSK cluster
# You still have to make sure that it is associated with your cluster as described in the documentation
secret = Secret(self, "Secret", secret_name="AmazonMSK_KafkaSecret")
my_function.add_event_source(ManagedKafkaEventSource(
    cluster_arn=cluster_arn,
    topic=topic,
    secret=secret,
    batch_size=100,  # default
    starting_position=lambda_.StartingPosition.TRIM_HORIZON
))

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.