title: DynamoDB - Key element does not match the schema
body: <p>I'm trying to update an Item in my Dynamodb Table +Users+. I have tried many different ways but I always received the same error message: </p>
  
  <blockquote>
    <p>The provided key element does not match the schema</p>
  </blockquote>
  
  <p>The creation of an Item works, as well as a query but not the update. When I check on DynamoDB the user is well created:</p>
  
  <pre><code>{
    "email": "test@email.com",
    "password": "123",
    "registration": 1460136902241,
    "verified": false
  }
  </code></pre>
  
  <p><strong>Here is the table information</strong>:</p>
  
  <ul>
  <li><strong>Table name</strong>: Users</li>
  <li><strong>Primary partition key</strong>:   email (String)</li>
  <li><strong>Primary sort key</strong>: registration (Number)</li>
  </ul>
  
  <p><strong>Here is the code (called from lambda):</strong></p>
  
  <pre><code>exports.handler = function(event, context)
  {
      var AWS = require("aws-sdk");
  
  
      var docClient = new AWS.DynamoDB.DocumentClient();
  
      var params = {
          TableName: "Users",
          Item:{
              email: "test@email.com",
              password: "123",
              verified: false,
              registration: (new Date()).getTime(),
          }
      };
  
      // Create the user.
  
      docClient.put(params, function(err, data)
      {
          if (err)
          {
              context.fail("Put failed...");
              return;
          }
  
          var params = {
              TableName: "Users",
              Key: { email : "test@email.com" },
              AttributeUpdates: {
                  verified: {
                      Action: "PUT",
                      Value: true
                  }
              }
          };
  
          // Update the user.
          docClient.update(params, function(err, data)
          {
              if (err)
              {
                  console.log(JSON.stringify(err));
                  context.fail(JSON.stringify(err));
                  return;
              }
              context.succeed("User successfully updated.");
          });
  
  
      });
  
  };
  </code></pre>
  
  <p>Do you have any idea of what could be wrong in my code? </p>