私は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 つのテーブルに違いはありません。
何か案は?