AWS Appsync模式错误(资源不在状态stackUpdateComplete中)

时间:2019-05-03 22:09:22

标签: amazon-web-services graphql aws-amplify aws-appsync

使用AWS Appsync处理React应用程序,并首次尝试使用graphQL。我的schema.graphql对我来说很有意义,但会抛出一个错误,我真的不知道该怎么看。

这是一个应用程序,用户可以在其中使用通知系统发布信息并发表评论。在Resource is not in the state stackUpdateComplete上获得amplify push错误消息

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上调试错误吗?

1 个答案:

答案 0 :(得分:0)

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