AWS Appsync 架构错误(资源未处于状态 stackUpdateComplete)

AWS Appsync schema error (Resource is not in the state stackUpdateComplete)

使用 AWS Appsync 开发 React 应用程序并首次尝试使用 graphQL。我的 schema.graphql 对我来说很有意义,但抛出一个错误,我真的不知道如何查看发生了什么。

这是一个应用程序,用户可以在其中使用通知系统进行 post 和评论。在 amplify push

上收到 Resource is not in the state stackUpdateComplete 错误消息
type User @model {
  id: ID!
  following: [User]
  follower: [User]
  post: [Post] @connection(name: "UserPost")
  comment: [Comment] @connection(name: "UserComment")
  notification: [Notification] @connection(name: "UserNotification")
}

type Post @model {
  id: ID!
  user: User! @connection(name: "UserPost")
  privacy: String!
  content: String!
  loved: [User]
  comment: [Comment] @connection(name: "PostComment")
}

type Comment @model {
  id: ID!
  user: User! @connection(name: "UserComment")
  content: String!
  loved: [User]
  post: Post @connection(name: "PostComment")
}

type Notification @model {
  id: ID!
  content: String!
  link: String!
  category: String!
  user: User! @connection(name: "UserNotification")
}

谁能看到我的架构文件有什么问题并且知道如何在 Appsync 上以最佳方式调试错误?

众所周知,当 connection 指令发生变化时会触发更新 DynamoDB GSI。 Cloudformation 对 DynamoDB GSI 有更新限制。 Amplify 团队正在积极研究 @key 指令,该指令将取代 @connection 指令。如果您要更改 @connection 指令

,请暂时按照这些步骤操作
  1. 每次推送只更改 @connection 指令。如果要重命名连接,请先删除连接并进行推送,然后使用新名称添加它
  2. 如果一次推送失败,后续推送可能会导致Resolver not found。这是由 Cloudformation 实现引起的,其中回滚删除了解析器但没有创建原始解析器。您可以通过在 AppSync 控制台中添加缺少的解析器来解决此问题。

参考:https://github.com/aws-amplify/amplify-cli/issues/1406#issuecomment-494533788