Skip to content
v2.274.0

KinesisConsumerEventSource Class ​

Use an Amazon Kinesis stream consumer as an event source for AWS Lambda.

Example ​

ts
import * as kinesis from 'aws-cdk-lib/aws-kinesis';
import { KinesisConsumerEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';

const stream = new kinesis.Stream(this, 'MyStream');
const streamConsumer = new kinesis.StreamConsumer(this, 'MyStreamConsumer', {
  stream,
  streamConsumerName: 'MyStreamConsumer',
});

declare const myFunction: lambda.Function;
myFunction.addEventSource(new KinesisConsumerEventSource(streamConsumer, {
  batchSize: 100, // default
  startingPosition: lambda.StartingPosition.TRIM_HORIZON,
}));
python
import aws_cdk.aws_kinesis as kinesis
from aws_cdk.aws_lambda_event_sources import KinesisConsumerEventSource

# my_function: lambda.Function


stream = kinesis.Stream(self, "MyStream")
stream_consumer = kinesis.StreamConsumer(self, "MyStreamConsumer",
    stream=stream,
    stream_consumer_name="MyStreamConsumer"
)
my_function.add_event_source(KinesisConsumerEventSource(stream_consumer,
    batch_size=100,  # default
    starting_position=lambda_.StartingPosition.TRIM_HORIZON
))
java
import software.amazon.awscdk.services.kinesis.*;
import software.amazon.awscdk.services.lambda.eventsources.KinesisConsumerEventSource;

Function myFunction;


Stream stream = new Stream(this, "MyStream");
StreamConsumer streamConsumer = StreamConsumer.Builder.create(this, "MyStreamConsumer")
        .stream(stream)
        .streamConsumerName("MyStreamConsumer")
        .build();
myFunction.addEventSource(KinesisConsumerEventSource.Builder.create(streamConsumer)
        .batchSize(100) // default
        .startingPosition(StartingPosition.TRIM_HORIZON)
        .build());
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.Kinesis;
using Amazon.CDK.AWS.Lambda.EventSources;

Function myFunction;


var stream = new Stream(this, "MyStream");
var streamConsumer = new StreamConsumer(this, "MyStreamConsumer", new StreamConsumerProps {
    Stream = stream,
    StreamConsumerName = "MyStreamConsumer"
});
myFunction.AddEventSource(new KinesisConsumerEventSource(streamConsumer, new KinesisEventSourceProps {
    BatchSize = 100,  // default
    StartingPosition = StartingPosition.TRIM_HORIZON
}));
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var myFunction Function


stream := kinesis.NewStream(this, jsii.String("MyStream"))
streamConsumer := kinesis.NewStreamConsumer(this, jsii.String("MyStreamConsumer"), &StreamConsumerProps{
	Stream: Stream,
	StreamConsumerName: jsii.String("MyStreamConsumer"),
})
myFunction.AddEventSource(awscdk.NewKinesisConsumerEventSource(streamConsumer, &KinesisEventSourceProps{
	BatchSize: jsii.Number(100),
	 // default
	StartingPosition: lambda.StartingPosition_TRIM_HORIZON,
}))

Initializer ​

ts
new KinesisConsumerEventSource(streamConsumer: IStreamConsumer, props: KinesisEventSourceProps)
python
KinesisConsumerEventSource(stream_consumer: IStreamConsumer, props: KinesisEventSourceProps)
java
new KinesisConsumerEventSource(IStreamConsumer streamConsumer, KinesisEventSourceProps props)
csharp
new KinesisConsumerEventSource(IStreamConsumer streamConsumer, KinesisEventSourceProps props)
go
NewKinesisConsumerEventSource(StreamConsumer IStreamConsumer, Props KinesisEventSourceProps)

Properties ​

eventSourceMappingArnstringevent_source_mapping_arnstreventSourceMappingArnStringEventSourceMappingArnstringEventSourceMappingArn*stringrequired#
The ARN for this EventSourceMapping.
eventSourceMappingIdstringevent_source_mapping_idstreventSourceMappingIdStringEventSourceMappingIdstringEventSourceMappingId*stringrequired#
The identifier for this EventSourceMapping.
streamConsumerIStreamConsumerstream_consumerIStreamConsumerstreamConsumerIStreamConsumerStreamConsumerIStreamConsumerStreamConsumerIStreamConsumerrequired#

Methods ​

bind(target: IFunction): voiddef bind(self, target: IFunction) -> Nonepublic void bind(IFunction target)public void Bind(IFunction target)func Bind(Target IFunction)#
Called by `lambda.addEventSource` to allow the event source to bind to this function.