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

使用Amplify CI/CD更新AppSync API时因API_KEY过期报错密钥未找到

解决方案

根因说明

报错核心是CloudFormation栈中记录的旧AppSync API Key ID(da2-rtqcdxh23bdrneqr746znw4e7i)已失效不存在,你手动更新密钥过期时间的操作没有同步到CloudFormation栈和Amplify项目配置,CI/CD触发资源更新时尝试修改不存在的密钥资源,触发404报错后触发栈回滚。

具体操作步骤(无需升级Amplify CLI,也无需执行全量手动修复)

  • 第一步:获取当前有效API Key ID
    登录AWS控制台进入AppSync服务页,找到对应项目的API,进入「设置」-「API 密钥」栏目,复制当前在用的有效API Key的ID(da2-开头的字符串)。
  • 第二步:修改项目API配置参数
    打开项目路径下amplify/backend/api/<你的API名称>/parameters.json文件,新增/修改以下配置项:
    {
      "ApiKeyId": "<替换为你刚才复制的新API Key ID>",
      "ApiKeyExpirationEpoch": <替换为你需要的过期时间戳,精确到秒,比如设置为2030年的对应时间戳可长期无需更新>
    }
    
    若文件中存在CreateAPIKey参数,保持其值为1即可。
  • 第三步:更新CI/CD构建配置
    进入Amplify控制台的「构建设置」-「构建规范」编辑页,在构建的preBuild阶段前新增两条命令:
    # 强制拉取当前云端环境的配置,避免本地与云端配置不一致
    amplify env pull --restore
    # 禁用Amplify CLI的API Key过期自动校验逻辑
    export AMPLIFY_DISABLE_API_KEY_EXPIRATION_CHECK=1
    
  • 第四步:同步配置到云端
    用有对应AWS账号权限的设备本地执行一次amplify push,待推送完成后CloudFormation栈的参数会同步为新的API Key配置,后续CI/CD流水线即可正常运行。

无本地操作权限的备选方案

如果你无法本地执行amplify push,可直接操作CloudFormation控制台:

  • 找到对应项目的API嵌套栈,名称格式为amplify-<项目名>-<环境名>-api<API名>-<随机串>
  • 直接更新栈参数,将ApiKeyId改为新的有效API Key ID,ApiKeyExpirationEpoch改为对应过期时间戳,更新完成后重新触发CI/CD即可。

内容的提问来源于stack exchange,提问作者Muhammad Waqas Dilawar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:27:04