AWS Amplify + Graphql + Dynamodb:突变时出现 ConditionalCheckFailedException 错误

Posted

技术标签:

【中文标题】AWS Amplify + Graphql + Dynamodb:突变时出现 ConditionalCheckFailedException 错误【英文标题】:AWS Amplify + Graphql + Dynamodb: ConditionalCheckFailedException error on mutation 【发布时间】:2021-09-23 01:08:07 【问题描述】:

在 2021 年最没有帮助的错误消息中,我的 createUser 突变尽管通过了满足所有要求的输入,却抛出了这条令人沮丧的消息:

data: createUser: null
errors: [path: ["createUser"], data: null, errorType: "ConditionalCheckFailedException", errorInfo: null,…]
0: path: ["createUser"], data: null, errorType: "ConditionalCheckFailedException", errorInfo: null,…
data: null
errorInfo: null
errorType: "ConditionalCheckFailedException"
locations: [line: 2, column: 3, sourceName: null]
0: line: 2, column: 3, sourceName: null
column: 3
line: 2
sourceName: null
message: "The conditional request failed (Service: DynamoDb, Status Code: 400, Request ID: 70BUB7TAU32M7JGGO6324LGR53VV4KQNSO5AEMVJF6ZZ6ZQ9ASUAAJG, Extended Request ID: null)"
path: ["createUser"]

我的架构:

type ScheduledEmail @model @auth(rules: [allow: public]) 
  id: ID!
  frequency: Frequency!
  scheduleHour: ScheduleHour!
  scheduleStart: ScheduleStart!
  user: [User] @connection(keyName: "byScheduledEmail", fields: ["id"])


type User @model @auth(rules: [allow: public]) @key(name: "byScheduledEmail", fields: ["scheduledEmailId"]) 
  id: ID!
  email: String!
  subscriptions: [ID]!
  name: String
  scheduledEmailId: ID
  scheduledEmail: ScheduledEmail @connection

当键和值不匹配时,dynamodb 已经足够具体了。 我没有提供条件,所以我不确定它是如何失败的。

提前致谢。

【问题讨论】:

【参考方案1】:

我正在向突变传递一个唯一 ID,我需要生成它自己显然不喜欢它。参数。

【讨论】:

以上是关于AWS Amplify + Graphql + Dynamodb:突变时出现 ConditionalCheckFailedException 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 aws amplify 中使用 graphQL 限制

@connection 上的 AWS Amplify Graphql 查询

通过 GraphQL 键检索 AWS Amplify DataStore 记录

aws amplify graphql 计算域内联解析器

aws amplify appsync 中的 Graphql 突变错误

AWS Amplify GraphQL Schema 导致错误