I am trying to create a consume stream in kinesis. I created my stream using
`awslocal kinesis create-stream --stream-name mylogstream --shard-count 2` 

which worked. Now I am trying to use lambda consumer, following the tutorial [here](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-configure), hence I did

`awslocal kinesis register-stream-consumer --consumer-name con1 --stream-arn arn:aws:kinesis:us-east-1:000000000000:stream/mylogstream`  

which resulted in following error:

>An error occurred (UnknownOperationException) when calling the RegisterStreamConsumer operation:

I tried again with `aws` instead of awslocal:

`aws kinesis register-stream-consumer --consumer-name con1 --stream-arn arn:aws:kinesis:us-east-1:000000000000:stream/mylogstream --endpoint-url=http://localhost:4568` 

which again resulted in same error.

I've configured my aws credentials etc. but nothing seems to fix the issue

""" check whether any of the event types in `events` matches the
        given `action` and `api_method`, and return the first match. """
    events = events or []
    for event in events:
        regex = event.replace('*', '[^:]*')
        action_string = 's3:%s:%s' % (action, api_method)
        match = re.match(regex, action_string)
        if match:
            return match
    return False
def filter_rules_match(filters, object_path):
    """ check whether the given object path matches all of the given filters """
    filters = filters or {}
    s3_filter = _get_s3_filter(filters)
    for rule in s3_filter.get('FilterRule', []):
        if rule['Name'] == 'prefix':
            if not prefix_with_slash(object_path).startswith(prefix_with_slash(rule['Value'])):
                return False
        elif rule['Name'] == 'suffix':
            if not object_path.endswith(rule['Value']):
                return False
        else:
            LOGGER.warning('Unknown filter name: "%s"' % rule['Name'])
    return True
def _get_s3_filter(filters):