在AWS AppSync中,我具有以下GraphQL模式。
type Mutation{
myMutation(id:String!): MyResponse
}
type Subscription{
mySubscription(ids:String):MyResponse @aws_subscribe(mutations: ["myMutation"])
}
type MyResponse{
ids:[String]
}
我的目标是每当突变返回MyResponse时都能够触发订阅“ mySubscription”,这样列表“ ids” 包含 输入到“ mySubscription”中的单个ID '。
例如,在React-Native中,我将执行以下操作:
import * as subscriptions from '../graphql/subscriptions.js'
const mySub = await API.graphql(graphqlOperation(subscriptions.mySubscription,{ids:'1'})).subscribe({
next: (response) => {
// DO SOMETHING WITH RESPONSE
},
error: (err) => {
// CATCH ERROR
}
})
我希望每当“ myMutation”生成响应(例如
)时触发此订阅data:{
myMutation:{
ids:['1','2']
}
}
或其中id是任何其他列表,只要它包含“ 1”(输入到订阅中的ID)即可。
这样做的原因是,我有一些事件需要首先根据与突变相关的人员触发客户通知,在此位置,与突变相关的人员的实际名单是动态的。能够说“订阅任何包含我的名字的人的活动”,事情的类型。
我唯一的解决方法是为每个单独参与的人员触发一个通知突变,但这需要对我的服务器的更多调用,而且似乎比我想象的要困难得多。任何帮助将不胜感激。