AWS Appsync 架构错误(资源不在 stackUpdateComplete 状态)
Posted
技术标签:
【中文标题】AWS Appsync 架构错误(资源不在 stackUpdateComplete 状态)【英文标题】:AWS Appsync schema error (Resource is not in the state stackUpdateComplete) 【发布时间】:2019-09-22 11:06:12 【问题描述】:使用 AWS Appsync 开发 React 应用程序并首次尝试 graphQL。我的schema.graphql
对我来说很有意义,但抛出了一个我真的不知道如何查看发生了什么的错误。
这是一个应用程序,用户可以在其中使用通知系统发帖和评论。在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 上以最佳方式调试错误吗?
【问题讨论】:
请编辑您的问题以包含您看到的实际错误消息。 @DanielRearden感谢您的评论。我刚刚添加了一条错误消息。 问:把整个栈删掉再重新构建会不会有问题?也许还检查 CloudFormation 是否有任何错误。由于对“用户”的引用,还要在 CLI 中检查 Cognito。 【参考方案1】:当connection
指令更改触发更新 DynamoDB GSI 时,会发生这种情况。 Cloudformation 对 DynamoDB GSI 有更新限制。 Amplify 团队正在积极研究 @key
指令,它将取代 @connection
指令。如果您要更改 @connection
指令,请暂时按照以下步骤操作
-
每次推送只更改
@connection
指令。如果要重命名连接,请先删除连接并进行推送,然后使用新名称添加它
如果推送导致失败并且后续推送可能会导致Resolver not found
。这是由 Cloudformation 实现引起的,其中回滚删除了解析器,但没有创建原始解析器。您可以通过在 AppSync 控制台中添加缺少的解析器来解决此问题。
参考:https://github.com/aws-amplify/amplify-cli/issues/1406#issuecomment-494533788
【讨论】:
以上是关于AWS Appsync 架构错误(资源不在 stackUpdateComplete 状态)的主要内容,如果未能解决你的问题,请参考以下文章
aws amplify appsync 中的 Graphql 突变错误