### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

AWS has a feature which allows you to [filter incoming lambda invocations using rules](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). Without this feature I need to filter inside the lambda code itself which will incur more compute and cost in AWS. In the spirit of having as few diffs between localstack and AWS this is highly desireable for my pipeline.

(And fwiw, my pipeline is DynamoDB -> DynamoDB Stream -> Lambda (Python) -> Opensearch)

The current behavior is that create/update-event-source-mapping does parse (and validate) this option, but it isn't honored against incoming events at runtime.

### 🧑‍💻 Implementation

Implement with the same logic as AWS with support for all the operators in the linked article above.

### Anything else?

_No response_
def _set_and_configure(*args, **kwargs):
        try:
            before = time.perf_counter()
            do_set_function_code(lambda_function)
            
            for plugin in lambda_executors.LambdaExecutorPlugin.get_plugins():
                plugin.init_function_code(lambda_function)
            lambda_function.state = "Active"
            LOG.debug(
                "Function code initialization for function '%s' complete. State => Active (in %.3fs)",
                lambda_function.name(),
                time.perf_counter() - before,
            )
        except Exception:
            lambda_function.state = "Failed"
            raise
    
    run_for_max_seconds(config.LAMBDA_CODE_EXTRACT_TIME, _set_and_configure)
    return {"FunctionName": lambda_function.name()}
def store_and_get_lambda_code_archive(
    lambda_function: LambdaFunction, zip_file_content: bytes = None
) -> Optional[Tuple[str, str, bytes]]:
    """Store the Lambda code referenced in the LambdaFunction details to disk as a zip file,
    and return the Lambda CWD, file name, and zip bytes content. May optionally return None
    in case this is a Lambda with the special bucket marker __local__, used for code mounting."""
    code_passed = lambda_function.code
    is_local_mount = code_passed.get("S3Bucket") == config.BUCKET_MARKER_LOCAL
    lambda_zip_dir = lambda_function.zip_dir
    if code_passed:
        lambda_zip_dir = lambda_zip_dir or set_archive_code(code_passed, lambda_function.name())