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

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description
VTL request containing an expression evaluated to String Concatenation does not work.

### Query
```
mutation createShop {
            createShop(shop: { shopName: "Apple" } ) {
              shopName
            }
          }
```

### VTL Template (**Works when deploy to Appsync on AWS services**)
```
{
  "version" : "2018-05-29",
  "operation" : "PutItem",
  "key" : {
    "PK": $util.dynamodb.toDynamoDBJson("SHOP#${ctx.args.shop.shopName}"),
    "SK": $util.dynamodb.toDynamoDBJson("PROFILE#$ctx.args.shop.shopName")
  },
  "attributeValues" : { "shopName": { "S": "Apple" }}
}
```

## Expected behavior
### Item stored in dynamodb 
```
{
            "PK": {
                "S": "SHOP#Apple"
            },
            "SK": {
                "S": "PROFILE#Apple"
            },
            "shopName": {
                "S": "Apple"
            }
        }
```


## Actual behavior
### Item stored in dynamodb 
```
{
            "PK": {
                "S": "SHOP#${ctx.args.shop.shopName}"
            },
            "SK": {
                "S": "PROFILE#$ctx.args.shop.shopName"
            },
            "shopName": {
                "S": "Apple"
            }
        }
```

# Steps to reproduce

## Command used to start LocalStack
docker-compose
````
version: '2.1'

services:
  localstack:
    container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"
    image: localstack/localstack
    ports:
      - "4566-4700:4566-4700"
      - "443:443"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=serverless,cloudformation,dynamodb,iam,s3,appsync,edge
      - DEBUG=1
      - DATA_DIR=${DATA_DIR- }
      - PORT_WEB_UI=${PORT_WEB_UI- }
      - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR- }
      - KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
      - DOCKER_HOST=unix:///var/run/docker.sock
      - HOST_TMP_FOLDER=${TMPDIR}
      - LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY}
    volumes:
      - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"
````

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

...

import re
import os
import json
import shutil
import time
import unittest
import six
from botocore.exceptions import ClientError
from io import BytesIO
from localstack import config
from localstack.constants import LOCALSTACK_MAVEN_VERSION, LOCALSTACK_ROOT_FOLDER, LAMBDA_TEST_ROLE
from localstack.services.awslambda.lambda_executors import LAMBDA_RUNTIME_PYTHON37
from localstack.utils import testutil
from localstack.utils.testutil import get_lambda_log_events, create_lambda_archive
from localstack.utils.aws import aws_stack
from localstack.utils.common import (
    unzip, new_tmp_dir, short_uid, load_file, to_str, mkdir, download,
    run_safe, get_free_tcp_port, get_service_protocol, retry
)
from localstack.services.infra import start_proxy
from localstack.services.awslambda import lambda_api, lambda_executors
from localstack.services.generic_proxy import ProxyListener
from localstack.services.awslambda.lambda_api import (
    LAMBDA_RUNTIME_DOTNETCORE2, LAMBDA_RUNTIME_DOTNETCORE31, LAMBDA_RUNTIME_RUBY25, LAMBDA_RUNTIME_PYTHON27,
    use_docker, LAMBDA_RUNTIME_PYTHON36, LAMBDA_RUNTIME_JAVA8,
    LAMBDA_RUNTIME_NODEJS810, LAMBDA_RUNTIME_PROVIDED, BATCH_SIZE_RANGES, INVALID_PARAMETER_VALUE_EXCEPTION,
    LAMBDA_DEFAULT_HANDLER)
from .lambdas import lambda_integration
THIS_FOLDER = os.path.dirname(os.path.realpath(__file__))