AppSync的订阅是否仅限于一个特定用例?

时间:2018-02-02 11:24:40

标签: aws-appsync

我花了最后一天尝试AWS AppSync我对订阅可以做什么有点失望。 在我看来,AppSync subscription的当前状态是针对具有项目列表并且希望它在所有客户端上同步的用例。

apollo-subscription可以做的相比,这是非常有限的。

所以,如果我理解正确的文件:

  • 我们无法过滤出您要将数据发送到的目标

我有一些用例,例如对帖子进行投票等突变可能导致将不同类型的数据推送到帖子的所有者。

  • 必须与特定的突变相关联,且必须属于同一类型

我有一些用例,其中突变或甚至查询都可能导致向正在侦听事件的特定目标发送推送。

  • 未与解析程序相关联

如果我错了,你能否纠正我?

1 个答案:

答案 0 :(得分:0)

您已经知道,结果必须与突变产生的结果相同,并且您无法将突变链接到解析程序。

但是关于您的第一个假设:

可以过滤突变结果。 例如,如果您具有以下突变:

type Mutation {
  addPost(input: PostAddInput!): Post!
}

input PostAddInput {
  text: String!
  author: ID!
}

您可以通过此订阅将突变结果发布给特定用户:

type Subscription {
  addedPost(author_id: ID!): Post!
    @aws_subscribe(mutations: ["addPost"])
}

现在,仅当突变的author_id与订阅的author_id相匹配时,您才会收到结果。

如果您想自己尝试,我还在GitHub上创建了AppSync RDS repository