title: Getting errors while trying to update column in DynamoDb using python client
body: <p>I have a dynamoDB table with the key name as id and a String field called state. I just want to update the value of the state using update_item DynamoDb Python client. </p>
  
  <pre><code>DDB_CLIENT.update_item(
              Key={
                      'id' : {'S': id}
                  },
              TableName='TrackingState',
              UpdateExpression="set state = :r",
              ExpressionAttributeValues={
                  ':r': '"state": {"S": "IN_PROGRESS"}'
              }
          )
  </code></pre>
  
  <p>I get an error: <code>Invalid type for parameter ExpressionAttributeValues type: &lt;class 'str'&gt;, valid types: &lt;class 'dict'&gt;</code></p>
  
  <p>If I try expressionAttributeValues as:</p>
  
  <pre><code>':r' : {"state": {"S": "IN_PROGRESS"}} I get the error: Unknown parameter in ExpressionAttributeValues.:r: "state", must be one of: S, N, B, SS, NS, BS, M, L, NULL, BOOL
  </code></pre>
  
  <p>If I try </p>
  
  <pre><code>':r' : {"S": "QUEUED"}
  Invalid UpdateExpression: Attribute name is a reserved keyword; reserved keyword: state
  </code></pre>
  
  <p>What is the right way to update an entry in DynamoDb table</p>