代码之家  ›  专栏  ›  技术社区  ›  Joseph D.

如何订阅过滤器?

  •  0
  • Joseph D.  · 技术社区  · 6 年前

    订阅是否有一种方法可以接收输入过滤器作为类似于查询和变异的参数?

    样本突变反应

    {
      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 回复  |  直到 6 年前
        1
  •  0
  •   Dani Shulman    6 年前

    https://docs.aws.amazon.com/appsync/latest/devguide/real-time-data.html

    subscription TaskUpdated {
        onTaskUpdated(taskCategory: "personal"){
            taskId
            taskCategory
            name
        }
    }
    

    如果可以将另一个属性taskCategory添加到任务类型。。。也许能解决你的问题。