15

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

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

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

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

AppSync 的当前行为是,当我触发 createEvent 时,AppSync 承诺如果 userId 相等,订阅的订阅者会收到事件。即AppSync的过滤逻辑是这样的

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

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

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

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

4

2 回答 2

6

目前,AppSync 不支持此用例。

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

于 2018-05-21T19:13:03.843 回答
0

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

似乎不可能

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

于 2021-02-16T10:20:41.610 回答