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

升级Amplify CLI后部署AWS Amplify新数据模型报Unknown directive "key"错误

错误原因

Unknown directive "key"报错由Amplify GraphQL Transformer版本不兼容导致:新版Amplify CLI默认启用Transformer v2,该版本移除了旧版v1中用于定义主键、索引的@key指令,替换为@primaryKey和@index指令。

错误提示

解决步骤

  • 方案1:迁移Schema到Transformer v2规范(推荐)
    将原有Schema中所有@key指令做对应替换:

    1. 原@key用于定义自定义主键的场景:将@key(fields: ["id", "createdAt"])替换为@primaryKey(sortKeyFields: ["createdAt"])
    2. 原@key用于定义二级索引的场景:将@key(name: "byCategory", fields: ["category", "createdAt"], queryField: "listPostsByCategory")替换为@index(name: "byCategory", sortKeyFields: ["createdAt"], queryField: "listPostsByCategory")
      替换完成后重新执行amplify push即可正常部署。
  • 方案2:临时回退使用Transformer v1(仅用于紧急兼容,不推荐长期使用)
    如果暂时没有时间完成Schema迁移,可以在项目的amplify/cli.json文件中添加如下配置,强制使用旧版Transformer:

{
  "features": {
    "graphqltransformer": {
      "useexperimentalpipelinedtransformer": false,
      "transformerversion": 1
    }
  }
}

修改完成后重新执行amplify push即可兼容旧版Schema。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:15:07