1

私はawsmplifyを使用し、次のようなgraphqlスキーマを持っています。私はamplify pushでプッシュします:

type User @model  {
  id: ID!
  lastname: String!
  customerID: ID!
  status: Status @connection
  statusID: ID!
}

type Status @model {
  id: ID!
  name: String
}

エラーなしで appsync コンソールに新しいユーザーを挿入できます:

mutation CreateUser($input: CreateUserInput!) {
  createUser(input: $input) {
    id
    customerID
    lastname
    status {
      id
      name
    }
  }
}

{"input": {
  "id": 1,
"customerID": 1,
  "statusID": 1
"lastname": "Doe"
}
}

しかし、graphql スキーマに @key(fields: ["customerID"]) を追加して、プライマリ キー customerID を持つ同じ dynamodb テーブル ユーザーを作成するとすぐに、appsync コンソールに次のエラーが表示されます。

 {
      "path": [
        "createUser",
        "status"
      ],
      "data": null,
      "errorType": "DynamoDB:AmazonDynamoDBException",
      "errorInfo": null,
      "locations": [
        {
          "line": 6,
          "column": 5,
          "sourceName": null
        }
      ],
      "message": "The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: 4SUT0SN1R6BKS8KG2V1AGUCHGRVV4KQNSO5AEMVJF66Q9ASUAAJG)"
    }

ユーザーはデータベースで正しく作成されます。pk customerID 以外に、作成されたコードの 2 つのテーブルに違いはありません。

何か案は?

4

1 に答える 1