Kinesis
The object describing a Kinesis
event source type. For more information, see Using AWS Lambda with Amazon Kinesis in the AWS Lambda Developer Guide.
AWS SAM generates an AWS::Lambda::EventSourceMapping resource when this event type is set.
Syntax
To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
BatchSize:
Integer
BisectBatchOnFunctionError:Boolean
DestinationConfig:DestinationConfig
Enabled:Boolean
FilterCriteria:FilterCriteria
FunctionResponseTypes:List
KmsKeyArn:String
MaximumBatchingWindowInSeconds:Integer
MaximumRecordAgeInSeconds:Integer
MaximumRetryAttempts:Integer
ParallelizationFactor:Integer
StartingPosition:String
StartingPositionTimestamp:Double
Stream:String
TumblingWindowInSeconds:Integer
Properties
-
BatchSize
-
The maximum number of items to retrieve in a single batch.
Type: Integer
Required: No
Default: 100
AWS CloudFormation compatibility: This property is passed directly to the
BatchSize
property of anAWS::Lambda::EventSourceMapping
resource.Minimum:
1
Maximum:
10000
-
BisectBatchOnFunctionError
-
If the function returns an error, split the batch in two and retry.
Type: Boolean
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
BisectBatchOnFunctionError
property of anAWS::Lambda::EventSourceMapping
resource. -
DestinationConfig
-
An Amazon Simple Queue Service (Amazon SQS) queue or Amazon Simple Notification Service (Amazon SNS) topic destination for discarded records.
Type: DestinationConfig
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
DestinationConfig
property of anAWS::Lambda::EventSourceMapping
resource. -
Enabled
-
Disables the event source mapping to pause polling and invocation.
Type: Boolean
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
Enabled
property of anAWS::Lambda::EventSourceMapping
resource. -
FilterCriteria
-
A object that defines the criteria to determine whether Lambda should process an event. For more information, see AWS Lambda event filtering in the AWS Lambda Developer Guide.
Type: FilterCriteria
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
FilterCriteria
property of anAWS::Lambda::EventSourceMapping
resource. -
FunctionResponseTypes
-
A list of the response types currently applied to the event source mapping. For more information, see Reporting batch item failures in the AWS Lambda Developer Guide.
Valid values:
ReportBatchItemFailures
Type: List
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
FunctionResponseTypes
property of anAWS::Lambda::EventSourceMapping
resource. -
KmsKeyArn
-
The Amazon Resource Name (ARN) of the key to encrypt information related to this event.
Type: String
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
KmsKeyArn
property of anAWS::Lambda::EventSourceMapping
resource. -
MaximumBatchingWindowInSeconds
-
The maximum amount of time to gather records before invoking the function, in seconds.
Type: Integer
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
MaximumBatchingWindowInSeconds
property of anAWS::Lambda::EventSourceMapping
resource. -
MaximumRecordAgeInSeconds
-
The maximum age of a record that Lambda sends to a function for processing.
Type: Integer
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
MaximumRecordAgeInSeconds
property of anAWS::Lambda::EventSourceMapping
resource. -
MaximumRetryAttempts
-
The maximum number of times to retry when the function returns an error.
Type: Integer
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
MaximumRetryAttempts
property of anAWS::Lambda::EventSourceMapping
resource. -
ParallelizationFactor
-
The number of batches to process from each shard concurrently.
Type: Integer
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
ParallelizationFactor
property of anAWS::Lambda::EventSourceMapping
resource. -
StartingPosition
-
The position in a stream from which to start reading.
-
AT_TIMESTAMP
– Specify a time from which to start reading records. -
LATEST
– Read only new records. -
TRIM_HORIZON
– Process all available records.
Valid values:
AT_TIMESTAMP
|LATEST
|TRIM_HORIZON
Type: String
Required: Yes
AWS CloudFormation compatibility: This property is passed directly to the
StartingPosition
property of anAWS::Lambda::EventSourceMapping
resource. -
-
StartingPositionTimestamp
-
The time from which to start reading, in Unix time seconds. Define
StartingPositionTimestamp
whenStartingPosition
is specified asAT_TIMESTAMP
.Type: Double
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
StartingPositionTimestamp
property of anAWS::Lambda::EventSourceMapping
resource. -
Stream
-
The Amazon Resource Name (ARN) of the data stream or a stream consumer.
Type: String
Required: Yes
AWS CloudFormation compatibility: This property is passed directly to the
EventSourceArn
property of anAWS::Lambda::EventSourceMapping
resource. -
TumblingWindowInSeconds
-
The duration, in seconds, of a processing window. The valid range is 1 to 900 (15 minutes).
For more information, see Tumbling windows in the AWS Lambda Developer Guide.
Type: Integer
Required: No
AWS CloudFormation compatibility: This property is passed directly to the
TumblingWindowInSeconds
property of anAWS::Lambda::EventSourceMapping
resource.
Examples
Kinesis event source
The following is an example of a Kinesis event source.
YAML
Events: KinesisEvent: Type: Kinesis Properties: Stream: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream StartingPosition: TRIM_HORIZON BatchSize: 10 Enabled: false FilterCriteria: Filters: - Pattern: '{"key": ["val1", "val2"]}'