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

Amplify CLI更新API时删除API Gateway Cognito授权器求助

问题:为什么使用Amplify CLI更新API时,API Gateway的Cognito授权器会被移除?

以下是常见原因和解决办法:

  • 检查本地API配置文件
    打开amplify/backend/api/[你的API名称]/parameters.json,确认里面存在Cognito授权相关配置:比如defaultAuthorizationType设为AMAZON_COGNITO_USER_POOLS,同时正确填写userPoolArn、authRoleArn和unauthRoleArn。如果这些配置缺失,Amplify CLI更新时会覆盖云端的手动配置,导致授权器丢失。

  • 不要直接在AWS控制台改配置
    Amplify是靠本地配置文件同步云端资源的,如果你手动在API Gateway控制台加了Cognito授权器,下次用CLI更新时,本地没这个配置,就会把云端的删掉。所有授权设置都要在本地通过CLI或配置文件定义,再部署到云端。

  • 用CLI重新配置授权器
    运行amplify update api,跟着交互步骤选择修改授权设置,明确指定用Cognito用户池做授权。完成后执行amplify push,这样授权配置会被写入本地文件,后续更新就不会被移除了。

  • 检查GraphQL Schema的授权指令
    如果是GraphQL API,要确保schema里的类型/字段加对了@auth指令,比如:

    type Post @auth(rules: [{ allow: owner, identityClaim: "sub" }, { allow: private, provider: userPools }]) {
      id: ID!
      title: String!
    }
    

    没加这些指令的话,Amplify可能不会自动维护Cognito授权器的关联。

  • 查看部署日志定位问题
    执行amplify push --debug,看部署时的详细日志,找一找有没有删除授权器的相关操作,能帮你精准定位是哪个配置出了问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:25:37