javascript - AWS AppSync Graphql Subsciprtion - 如果订阅的输入在 Mutation 的列表中,则触发订阅
问题描述
在 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']
}
}
或者 ids 是任何其他列表,只要它包含“1”(输入到订阅中的 id)。
这样做的原因是我有一些事件需要根据谁首先附加到突变来触发客户端通知,其中附加到突变的实际人员列表是动态的。能够说“订阅包含我的名字的人员列表的任何事件”,这样的事情会很好。
我唯一的解决方法是为每个单独参与的人触发通知突变,但这需要对我的服务器进行更多调用,而且似乎比我认为的要困难得多。任何帮助将不胜感激。
解决方案
推荐阅读
- python - 部分 celery-beat 周期性任务未触发
- r - 在 Rmarkdown 文件中获取情节以占据 HTML 中的所有水平空间
- performance - 如何应用 WCF 服务的性能配置?
- javascript - 如何在javascript中舍入数字(仅在小数部分的结果)?
- java - 来自 Spring 应用程序上下文的 Servlet 上下文属性
- aws-api-gateway - 如何在 Serverless 框架中更改 APIGatewayRestApiStage StageName?
- sql - 计算两个数字的比例和精度
- hyperledger-fabric - 从用户提供的链码调用 Hyperledger Fabric QSCC
- javascript - 反应原生 useEffect 清理未正确使用更新的状态
- python - 查找 3D 空间中点数密度的高效算法