You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整GraphQL schema后Amplify Push报错,CloudFormation栈回滚求助

解决Amplify推送时CloudFormation UPDATE_ROLLBACK_COMPLETE卡壳问题

针对React Native + AWS Amplify项目中,调整GraphQL Schema后推送更新时CloudFormation栈卡在UPDATE_ROLLBACK_COMPLETE、CLI报Resource is not in the state stackUpdateComplete的问题,以下是经过验证的解决步骤:

1. 强制重置CloudFormation栈状态

栈可能因内部状态异常卡住,用AWS CLI手动触发栈更新:

aws cloudformation update-stack --stack-name <你的认证栈全名> --use-previous-template --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM

替换<你的认证栈全名>为CloudFormation控制台中显示的认证栈名称(格式通常为amplify-<项目名>-<环境名>-<数字>-auth)。执行完成后再尝试amplify push。

2. 清理本地元数据并同步后端配置

本地Amplify元数据可能与后端不一致,执行以下操作:

  • 删除项目根目录下的amplify/.temp文件夹
  • 拉取后端最新配置:
    amplify pull --appId <你的Amplify应用ID> --envName <环境名>
    
  • 重新执行amplify push

3. 定位并修复认证栈的具体错误

进入CloudFormation控制台,查看认证栈的事件日志,找到触发回滚的具体资源错误(比如IAM角色权限冲突、Cognito资源配置非法)。根据错误提示修改本地amplify/auth/目录下的配置文件(如parameters.json、cli-inputs.json),修正配置后重新推送。

4. 极端情况:重建认证栈

若上述方法均无效,只能重建认证服务:

  1. (可选)导出Cognito用户池数据:进入AWS控制台的Cognito用户池,选择「用户和组」→「导出用户」保存用户数据
  2. 移除本地认证配置:
    amplify remove auth
    
  3. 重新添加认证服务:
    amplify add auth
    
    配置时尽量与原保持一致(用户池名称、属性、认证方式等)
  4. 推送更新:
    amplify push
    
  5. (可选)导入之前导出的用户数据到新用户池

5. 升级Amplify CLI到最新版本

旧版本CLI可能存在CloudFormation交互bug,升级到稳定版:

npm install -g @aws-amplify/cli

内容的提问来源于stack exchange,提问作者PSComputerScience

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 00:52:44