是否有一种订阅方式可以接收输入过滤器作为类似于查询和变异的参数?
当前,我的订阅没有数据源,并且我只想在此字段以此值开头的情况下接收订阅。
样本突变响应
{
taskId: "personal-<uuid>",
name: "Personal Task 1",
...
}
基本上,我只希望有一个订阅来检查所有任务更新,其中taskId
beginsWith
是String
“个人” 。
架构
input TableStringFilterInput {
ne: String
eq: String
le: String
lt: String
ge: String
gt: String
contains: String
notContains: String
between: [String]
beginsWith: String
}
input TaskInput {
taskId: ID!
...
}
input TaskFilterInput {
taskId: TableStringFilterInput
}
mutation updateTask(task: TaskInput) : Task
subscription onTaskUpdated(filter: TaskFilterInput) : Task
@aws_subscribe(mutations, ["updateTask"])
使用Appsync的查询控制台测试订阅
subscription TaskUpdated {
onTaskUpdated(filter: {
taskId : { beginsWith: "personal" },
}) {
taskId
name
}
}
答案 0 :(得分:0)
https://docs.aws.amazon.com/appsync/latest/devguide/real-time-data.html
您可以传递这样的参数
subscription TaskUpdated {
onTaskUpdated(taskCategory: "personal"){
taskId
taskCategory
name
}
}
如果可以向任务类型添加另一个属性taskCategory ...可能会解决您的问题。
您的另一个选择是在您的应用中进行过滤