放大/反应 AppSync graphql 订阅 @auth 错误
Posted
技术标签:
【中文标题】放大/反应 AppSync graphql 订阅 @auth 错误【英文标题】:Amplify/React AppSync graphql subscriptions @auth error 【发布时间】:2021-07-14 20:21:12 【问题描述】:你好:slight_smile:
我有一个与@auth 相关的小问题。 (放大 + 反应 + AppSync)
schema.graphql
type Ticket @model
@auth(rules: [
allow: owner, provider: userPools,
])
id: ID!
status: String!
owner: String!
description: String!
构建 -> schema.graphql
type Subscription
onCreateTicket(owner: String!): Ticket @aws_subscribe(mutations: ["createTicket"])
onUpdateTicket(owner: String!): Ticket @aws_subscribe(mutations: ["updateTicket"])
onDeleteTicket(owner: String!): Ticket @aws_subscribe(mutations: ["deleteTicket"])
所有操作(创建更新等)工作正常:
const data: listTickets: items: items, nextToken = await API
.graphql(graphqlOperation(listTickets,
owner: user.username
)) as GraphQLResult;
除了订阅:
const subClient = API
.graphql(graphqlOperation(onUpdateTicket,
owner: user.username
)) as Observable<object>;
subscription = subClient.subscribe(
next: (data: any) => console.log('subscription data:', data),
error: error => console.warn('subscription error: ', error)
);
订阅永远不会触发。 (没有错误,没有警告)
任何帮助将不胜感激!
谢谢
【问题讨论】:
【参考方案1】:它工作! 我忘了检查“所有者”,不仅在输入*中,而且在下面的字段中。
#aws-amplify-devs 您能否将此信息添加到文档中? :) 可以节省很多时间。
【讨论】:
以上是关于放大/反应 AppSync graphql 订阅 @auth 错误的主要内容,如果未能解决你的问题,请参考以下文章
AppSync/Amplify - 如何定义 GraphQL 订阅
如果我不使用放大,如何从 AppSync GraphQL 架构生成 Typescript 定义?