Interface StreamErrorHandlingProps

In order to prevent your lambda from continuously retrying if it encounters errors whilst processing a batch, use retryBehaviour to give up on a record once it reaches a certain age, or after a specified number of attempts. See [[StreamRetry]] for more details.

In order to isolate bad records as part of the retry process, you may also want to bisect problematic batches using bisectBatchOnError. For example:

const errorHandlingProps: ErrorHandlingProps = {
bisectBatchOnError: true,
retryBehaviour: StreamRetry.maxAttempts(5),

Records which could not be processed successfully can (optionally) be sent to a dead letter queue via deadLetterQueueForSkippedRecords.

interface StreamErrorHandlingProps {
    bisectBatchOnError: boolean;
    blockProcessingAndRetryIndefinitely?: false;
    deadLetterQueueForSkippedRecords?: IEventSourceDlq;
    retryBehaviour: StreamRetry;


bisectBatchOnError: boolean
blockProcessingAndRetryIndefinitely?: false
deadLetterQueueForSkippedRecords?: IEventSourceDlq
retryBehaviour: StreamRetry