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

Android Kotlin项目配置AWS Amplify GraphQL时遇@model指令未知问题

解决AWS Amplify GraphQL @model等指令报错的步骤

1. 检查Amplify CLI版本

确保使用最新稳定版Amplify CLI,旧版本可能存在指令支持缺陷。执行以下命令查看版本:

amplify --version

若版本非最新,执行更新命令:

npm install -g @aws-amplify/cli

2. 核对GraphQL Schema的拼写与路径

  • 确认Schema文件位于amplify/backend/api/<你的API名称>/schema.graphql路径下,路径错误会导致Amplify无法识别指令。
  • 检查指令拼写:你提到的AuthRule是错误写法,正确的权限控制指令为@auth,内部通过allow参数配置权限,示例正确写法:
type Todo @model @auth(rules: [{ allow: public }]) {
  id: ID!
  name: String!
  description: String
}

3. 重新生成客户端模型代码

重新执行代码生成命令,确保Android项目能获取到对应指令的模型类:

amplify codegen models

执行完成后同步Android项目的Gradle,确保生成的代码正确导入项目。

4. 匹配Android项目的Amplify依赖版本

在app/build.gradle中,确保Amplify依赖与CLI版本匹配,使用最新稳定版依赖示例:

dependencies {
    implementation 'com.amplifyframework:core:2.+'
    implementation 'com.amplifyframework:aws-api:2.+'
    implementation 'com.amplifyframework:aws-auth-cognito:2.+'
}

5. 清理缓存并重新部署API

本地缓存可能导致指令识别异常,执行以下命令重置部署:

amplify clean
amplify push

部署完成后再次执行代码生成命令同步客户端。

6. 配置IDE的GraphQL识别规则

若使用Android Studio,可在项目根目录创建.graphqlconfig.yml文件,指定Amplify指令的识别规则,示例配置:

projects:
  <你的API名称>:
    schemaPath: amplify/backend/api/<你的API名称>/schema.graphql
    extensions:
      amplify:
        codeGenTarget: android
        generatedFileName: app/src/main/java/你的包路径/amplify/GeneratedModel.java
        region: <你的AWS区域>
        apiId: <你的API ID>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:01:15