AWS AppSync中的订阅自定义筛选

时间:2018-04-26 07:53:55

标签: amazon-web-services aws-appsync appsync-apollo-client

是否可以在AWS AppSync中订阅自定义过滤逻辑?

据我所知,目前的行为是: 例如我的架构如下所示

type Mutation {
  createEvent(userId: ID!, event: Event!): Event!
}

type Subscription {
  onEvent(userId: ID!): Event!
  @aws_subscribe(mutations: ["createEvent"])
}

当我触发createEvent时,AppSync的当前行为是,如果userId相等,则AppSync承诺Subscription的订阅者接收事件。 即AppSync的过滤逻辑就像

if (Muatation.userId == Subscription.userId) {
  // forward to subscriber
}

但是如果我想要不同的过滤逻辑呢? 例如,我想订阅除了由我触发的所有其他事件? 即。

if (Muatation.userId != Subscription.userId) {
  // forward to subscriber
}

那么,是否可以在AppSync中使用自定义过滤逻辑?

2 个答案:

答案 0 :(得分:4)

目前,AppSync不支持此用例。

将来可能会考虑添加自定义过滤。

答案 1 :(得分:0)

在这里查看可能的过滤方法后 - appsync-doc

好像不太可能

您唯一能做的就是在您的客户端中添加一个小逻辑,通过比较用户 ID 来检测订阅是否属于您。