<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[ ] bug report
[X ] feature request

# Detailed description

I'm using localstack to create a dynamoDb table locally with a dynamodb stream and a flink application consuming data from the stream
The shardId created in localstack follows this format

shardId-000000000000-798cedd84a2953c5af70a131f8701f35

Flink expects this format
shardId-00000001592367572726-07776efd

The difference is just after the prefix shardId.
Normally the real shardId created by amazon use is composed by shardId prefix, 20-digit timestamp and 0-36 or more characters separated by '-'

The current shardId format is not valid for flink applications and it's not following the real pattern used by amazon

## Expected behavior

ShardId must follow the pattern
shardId prefix, 20-digit timestamp and 0-36 or more characters separated by '-'

## Actual behavior

The shardId follows the pattern
shardId prefix, 12 0s and 33 characters separated by '-'

# Steps to reproduce

Create a dynamodb table

## Command used to start LocalStack

I'm using docker and docker compose to run localstack


## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)

aws --endpoint-url=http://localhost:4566 dynamodb create-table \
    --table-name temp4 \
    --attribute-definitions AttributeName=partition_key,AttributeType=S AttributeName=sort_key,AttributeType=S \
    --key-schema AttributeName=partition_key,KeyType=HASH AttributeName=sort_key,KeyType=RANGE \
    --provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=100 \
    --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES


""" Helper class to run a shell command in a background thread. """
    def __init__(self, cmd, params={}, outfile=None, env_vars={}, stdin=False,
            quiet=True, inherit_cwd=False, inherit_env=True):
        self.cmd = cmd
        self.process = None
        self.outfile = outfile or os.devnull
        self.stdin = stdin
        self.env_vars = env_vars
        self.inherit_cwd = inherit_cwd
        self.inherit_env = inherit_env
        FuncThread.__init__(self, self.run_cmd, params, quiet=quiet)
    def run_cmd(self, params):
        def convert_line(line):
            line = to_str(line or '')
            return '%s\r\n' % line.strip()
        def filter_line(line):
            """ Return True if this line should be filtered, i.e., not printed """
            return '(Press CTRL+C to quit)' in line
        try:
            self.process = run(self.cmd, asynchronous=True, stdin=self.stdin, outfile=self.outfile,
                env_vars=self.env_vars, inherit_cwd=self.inherit_cwd, inherit_env=self.inherit_env)
            if self.outfile:
                if self.outfile == subprocess.PIPE:
                    
                    streams = ((self.process.stdout, sys.stdout), (self.process.stderr, sys.stderr))
                    for instream, outstream in streams:
                        for line in iter(instream.readline, None):