该错误表示当前用户没有权限访问名为“listXbiis”的查询,因此需要在GraphQL schema中添加相关权限设置。在Resolver的权限设置中,开启授权模式,允许只有授权用户才能访问该查询。
下面是一个Node.js的代码示例,它演示了如何通过AWS Amplify API创建一个具有授权查询的GraphQL API:
import Amplify, { API, graphqlOperation } from 'aws-amplify';
import awsconfig from './aws-exports';
// 初始化Amplify
Amplify.configure(awsconfig);
// 创建一个查询
const listXbiisQuery = `query ListXbiis {
listXbiis {
items {
id
name
}
}
}`;
// 添加权限设置
const resolverConfig = {
"Query.listXbiis": {
"authorizationMode": "AMAZON_COGNITO_USER_POOLS",
"caching": false
}
};
// 为GraphQL模式添加权限设置
const gqlSchema = `
type Xbii {
id: ID!
name: String!
}
type Query {
listXbiis: [Xbii]
}
schema {
query: Query
}`;
// 更新API
API.updateGraphqlAPI(apiId, gqlSchema, resolverConfig).then(response => {
// 执行查询
API.graphql(graphqlOperation(listXbiisQuery)).then(response => {
console.log(response.data.listXbiis.items);
});
});