1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 对于搜索后发现这里有类似问题的人,这里可以解释这个问题:
MrArnoldPalmer 在2021年2月24日发表的评论
您好,这是我们对 #12635 进行修复后的结果。CFN 中的 AppSync 似乎存在一个问题,即在替换现有解析器时,删除/创建操作的顺序会导致重复。我创建了这个问题来跟踪这个问题: #13269
目前唯一的解决方法是删除解析器资源,将其部署到堆栈,然后再添加回来并重新部署。如果您想避免停机,可以在新堆栈中启动 GraphqlAPI 结构的并行实例,将客户端指向该实例,然后删除旧实例。
https://github.com/aws/aws-cdk/issues/13238#issuecomment-785380708
显然,我想要添加的 create
mutation和对模型的 @model(mutations:{create:null})
调整不能同时部署。我必须先删除默认解析器,并在 @model
上使用新参数部署。然后我可以成功添加新的 Lambda 函数解析器,使用 @function
。
我不得不注释掉我试图覆盖的自定义 mutator:
// type Mutation {
// createExternalAPISession(username: String, password: String): ExternalAPISession @function(name: "CreateExternalAPISession-${env}")
// }
我使用 amplify push
部署了带有 @model(mutations: {create: null})
的模式。然后取消注释我的新 mutator 并再次使用 amplify push
部署。成功。