title: Invalid type parameter class str, valid types class dict
body: <p>So I'm attempting to sync Dynamodb tables using put_item. But I've run into an issue.</p>
  <pre><code>Invalid type for parameter Item.Artist, value: No One You Know, type: &lt;class 'str'&gt;, valid types: &lt;class 'dict'&gt;
  </code></pre>
  <p>From reading the documentation it looks like when using put_item it requires a dict so essentially something like this:</p>
  <pre><code>'{'Artist': {'S': 'No One You Know'},'SongTitle': {'S': 'Call Me Today'}}'
  </code></pre>
  <p>In order to add it correctly.</p>
  <p>Here is my code:</p>
  <pre><code>#!/usr/bin/python3
  import boto3
  source = boto3.resource('dynamodb', 'us-east-1')
  dest = boto3.client('dynamodb', 'us-west-2')
  
  def sync(source, dest):
       table = source.Table(&quot;myMusic&quot;)
       scan_kwargs = {
           'ProjectionExpression': &quot;Artist, SongTitle&quot;
       }
       done = False
       start_key = None
       while not done:
           if start_key:
               scan_kwargs['ExclusiveStartKey'] = start_key
           response = table.scan(**scan_kwargs)
           for item in response['Items']:
               dest.put_item(TableName=&quot;myMusic&quot;, Item=item)
               #print(item)
           start_key = response.get('LastEvaluatedKey', None)
           done = start_key is None
  
  
  sync(source, dest)
  </code></pre>
  <p>So if I uncomment the print statement I get:</p>
  <pre><code>{'Artist': 'No One You Know', 'SongTitle': 'Call Me Today'}
  </code></pre>
  <p>Is there any way to sanitize the output or add the additional required 'S' or am I going about this the wrong way?</p>