title: AWS Amplify + Graphql + Dynamodb: ConditionalCheckFailedException error on mutation
body: <p>In what has been the least helpful error message of 2021, my <code>createUser</code> mutation, despite being passed inputs satisfying all requirements, throws this bummer of a message:</p>
  <pre><code>data: {createUser: null}
  errors: [{path: [&quot;createUser&quot;], data: null, errorType: &quot;ConditionalCheckFailedException&quot;, errorInfo: null,…}]
  0: {path: [&quot;createUser&quot;], data: null, errorType: &quot;ConditionalCheckFailedException&quot;, errorInfo: null,…}
  data: null
  errorInfo: null
  errorType: &quot;ConditionalCheckFailedException&quot;
  locations: [{line: 2, column: 3, sourceName: null}]
  0: {line: 2, column: 3, sourceName: null}
  column: 3
  line: 2
  sourceName: null
  message: &quot;The conditional request failed (Service: DynamoDb, Status Code: 400, Request ID: 70BUB7TAU32M7JGGO6324LGR53VV4KQNSO5AEMVJF6ZZ6ZQ9ASUAAJG, Extended Request ID: null)&quot;
  path: [&quot;createUser&quot;]
  </code></pre>
  <p>My schema:</p>
  <pre><code>type ScheduledEmail @model @auth(rules: [{allow: public}]) {
    id: ID!
    frequency: Frequency!
    scheduleHour: ScheduleHour!
    scheduleStart: ScheduleStart!
    user: [User] @connection(keyName: &quot;byScheduledEmail&quot;, fields: [&quot;id&quot;])
  }
  
  type User @model @auth(rules: [{allow: public}]) @key(name: &quot;byScheduledEmail&quot;, fields: [&quot;scheduledEmailId&quot;]) {
    id: ID!
    email: String!
    subscriptions: [ID]!
    name: String
    scheduledEmailId: ID
    scheduledEmail: ScheduledEmail @connection
  }
  </code></pre>
  <p>When keys and values have been mismatched, dynamodb has been kind of enough to be specific about it.
  I haven't provided it a condition so I'm not sure how it can be failing.</p>
  <p>Thanks in advance.</p>