AWS AppSync 中订阅的自定义筛选
Posted
技术标签:
【中文标题】AWS AppSync 中订阅的自定义筛选【英文标题】:Custom filtering on subscription in AWS AppSync 【发布时间】:2018-10-06 20:07:03 【问题描述】:是否可以在 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
但是如果我想要不同的过滤逻辑怎么办? 例如,我想订阅除我触发的事件之外的所有其他事件? 即
if (Muatation.userId != Subscription.userId)
// forward to subscriber
那么,AppSync 中是否可以有自定义过滤逻辑?
【问题讨论】:
【参考方案1】:目前,AppSync 不支持此用例。
未来可能会考虑添加自定义过滤。
【讨论】:
近年来这件事有什么变化吗?【参考方案2】:在这里查看可能的过滤方法后 - appsync-doc
似乎不可能
您唯一能做的就是在您的客户端中添加一个小逻辑,通过比较用户 ID 来检测订阅是否属于您。
【讨论】:
以上是关于AWS AppSync 中订阅的自定义筛选的主要内容,如果未能解决你的问题,请参考以下文章
创建在特定事件发生时调用的自定义 appsync 解析器或 lambda 函数
通过 AppSync 上的自定义 Lambda 授权方对突变进行身份验证
使用 GraphQL 转换在 AWS AppSync 中生成带有参数的订阅