### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

Basically we want to only run the lambda when an insert is occurring in DynamoDB.
I tested using Dynobase deleting a record and the lambda still triggered.

```
resource "aws_lambda_event_source_mapping" "event-log" {
	event_source_arn  = aws_dynamodb_table.event-log.stream_arn
	function_name     = module.main.lambda-arn
	starting_position = "LATEST"
	enabled = true # change to false when truncating the table in localstack
	maximum_retry_attempts = 1 # limit retry on failure to 1 for now

	# https://dev.to/aws-builders/filtering-dynamodb-streams-before-lambda-p5p
	filter_criteria { # Doesn't seem to work on LocalStack for now
		filter {
			pattern = jsonencode({
				body = {
					eventName : ["INSERT"]
				}
			})
		}
	}
}
```


### 🧑‍💻 Implementation

_No response_

### Anything else?

 https://dev.to/aws-builders/filtering-dynamodb-streams-before-lambda-p5p
first_rec = records[0]
                            last_rec = records[-1]
                            (
                                first_seq_num,
                                last_seq_num,
                            ) = self._get_starting_and_ending_sequence_numbers(first_rec, last_rec)
                            (
                                first_arrival_time,
                                last_arrival_time,
                            ) = self._get_first_and_last_arrival_time(first_rec, last_rec)
                            self._send_to_failure_destination(
                                shard_id,
                                first_seq_num,
                                last_seq_num,
                                stream_arn,
                                function_arn,
                                num_invocation_failures,
                                status_code,
                                batch_size,
                                first_arrival_time,
                                last_arrival_time,
                                failure_destination,
                            )
                    else:
                        should_get_next_batch = False
            if should_get_next_batch:
                shard_iterator = records_response["NextShardIterator"]
                num_invocation_failures = 0
            time.sleep(self._POLL_INTERVAL_SEC)
    def _send_to_failure_destination(