55 *_*cri 4 typescript aws-lambda graphql aws-appsync aws-cdk
给定以下 graphql 模式
# graphql/schema.graphql
type AppUser {
userId: String
fullName: String
}
type Query {
getUser(userId: String): AppUser
getUsers(): [AppUser]
}
type Mutation {
addUser(user: AppUser!): AppUser
}
Run Code Online (Sandbox Code Playgroud)
以及在 lib/mystack.ts 中定义的以下 cdk 代码:
# graphql/schema.graphql
type AppUser {
userId: String
fullName: String
}
type Query {
getUser(userId: String): AppUser
getUsers(): [AppUser]
}
type Mutation {
addUser(user: AppUser!): AppUser
}
Run Code Online (Sandbox Code Playgroud)
我在AWS::AppSync::GraphQLSchema部署阶段收到以下错误消息:
GraphQLApi/架构 (GraphQLApiSchema5937B126) 架构创建状态失败,详细信息:保存架构时发生内部故障。
有没有人遇到过这个错误?我怀疑我的 graphql 模式有问题,但我不知道它是什么。另一个答案提到https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html上的 DynamoDB 保留字可能会导致冲突,即使您不使用 DynamoDB,所以我将User类型重命名为AppSync. 但是,它看起来Query也是一个保留字,但据我了解,这对于 graphql 定义也是必要的。请帮忙。AWS CDK 很难受。
55 *_*cri 14
问题是我的架构不正确。AppUser是一种类型,但我用作addUser突变的输入。您可以使用特殊input关键字定义查询和更改的输入。我最终复制AppUser为:
input AppUserInput {
userId: String
fullName: String
}
Run Code Online (Sandbox Code Playgroud)
这解决了问题。
| 归档时间: |
|
| 查看次数: |
2930 次 |
| 最近记录: |