【发布时间】:2021-04-21 15:40:30
【问题描述】:
在 AWS AppSync 中,我有一个 Lambda 解析器。解析器处理多个查询,例如getUser、getUsers、getClient 等。Lambda 函数如何获取 AppSync GraphQL 架构中定义的查询返回类型?
返回类型在 AppSync GraphQL 架构查询部分定义:
type Query {
getClient(_id: ID!): Client
getUser(_id: ID!): User
getUsers(): UserConnection
}
对于查询 getUser,lambda 事件变量包含以下内容:
"info": {
"parentTypeName": "Query",
"selectionSetList": [
"_id",
"email"
],
"selectionSetGraphQL": "{\n _id\n email\n}",
"fieldName": "getUser",
"variables": {
"id": "5c42109b2eb8ed82c8862532"
}
},
"stash": {}
使用 AWS 开发工具包,我可以调用 AppSync API 方法 getIntrospectionSchema,但它不返回任何查询或突变——只返回所有类型的数组。
我也可以调用getResolver方法,但它不返回字段返回类型。
var appsync = new AWS.AppSync();
var params = {
apiId: 'xxxxx',
fieldName: 'getUser',
typeName: 'Query',
};
const data = await appsync.getResolver(params).promise();
Response:
dataSourceName:'myLambdaDatasource'
fieldName:'getUser'
kind:'UNIT'
requestMappingTemplate:null
resolverArn:'arn:.../types/Query/resolvers/getUser'
responseMappingTemplate:null
typeName:'Query'
【问题讨论】:
标签: aws-appsync